* .msi filename now uses full A.B.C.D version
* Git tag is assumed to be rel-A.B.C.D
Switched the entire appcast.write() formatting to using named tags, no
need to remember positions now.
Addresses part of #523
* Confirmed requirements,txt contents work, NB: Need to have already
installed py2exe as pip won't find a valid version.
* Document using requirements.txt, now that it's up to date.
* So that isn't part of the py2exe section now.
* Removed modules we don't seem to use any more.
* Went through *all* the imports (including 'from X import Y') and
checked every module was one of: builtin, stock in win32 python
3.7.7 or a known dependency of another we do list.
* As we still have the sqlite3.dll hack in setup.py I've only
specified: +py2exe>=0.9.3.2
* certifi==2019.9.11 to work around py2exe issues the current latest
* keyring==19.2.0 to work around py2exe issues the current latest
This still needs testing to see if it's enough to setup an
only-just-installed Python-32 of 3.7.7
Where it was in EDMarketConnector.py caused issues because then the
main thread was blocking on the popup when other threads expected it to
be running:
---------------------------------------------------------------------
Exception in thread Journal worker:
Traceback (most recent call last):
File "C:\Users\Athan\AppData\Local\Programs\Python\Python37-32\lib\threading.py", line 926, in _bootstrap_inner
self.run()
File "C:\Users\Athan\AppData\Local\Programs\Python\Python37-32\lib\threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\Athan\Documents\Devel\EDMarketConnector-python3\monitor.py", line 273, in worker
self.root.event_generate('<<JournalEvent>>', when="tail")
File "C:\Users\Athan\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1673, in event_generate
self.tk.call(args)
RuntimeError: main thread is not in main loop
---------------------------------------------------------------------
However *now* it pops up before the main UI is running properly at all,
so the EDMC window is likely out of position, and won't be
painted/themed yet.
This is deemed acceptable for a 'once a day at most' popup.
The popup title now has 'EDMC: ' at the start to be sure users know
what it's talking about.
It also has some brief advice about how to disable a plugin.
To allow users to sort out their plugins before EDMC itself moves to
Python 3.x warn them if any of their enabled, non-stock, plugins do not
have a plugin_start3() method.
* If any are found without support there's a popup triggered at the
end of AppWindow initialisation.
* Then the user can check Settings > Plugins to see a list of the
plugins without Python 3.x support.
*) There's a bug in py2exe meaning sqlite3.dll doesn't get pulled in
by listing it in packages. So we fudge it, assuming it's in
<sys.base_prefix>/DLLs/sqlite3.dll (which is the case for Python 3.2
32-bit on Windows).
Bug report filed:
<https://github.com/albertosottile/py2exe/issues/23>
*) Adds sqlite3.dll back into .wxs file