1
0
mirror of https://github.com/EDCD/EDMarketConnector.git synced 2025-04-12 07:20:02 +03:00

55 Commits

Author SHA1 Message Date
David Sangrey
5d43388439
[RELEASE] 5.11.1 2024-06-09 17:26:19 -04:00
David Sangrey
2f6e9fa4c2
[2251] Use Pathlib 2024-06-06 19:41:10 -04:00
David Sangrey
dd8b18cbae
[2251] Clarify Bundle Update Error Msg 2024-06-06 18:49:12 -04:00
David Sangrey
1930930854
[2251] Add Temp Local Check 2024-06-06 18:34:17 -04:00
David Sangrey
79bb416fe1
[2251] No Ouroboros CSVs please 2024-06-06 18:16:27 -04:00
David Sangrey
1f92c0cdfb
[2251] Remember the File May Not Exist 2024-06-06 18:08:03 -04:00
David Sangrey
76c94bfdb9
[2251] Update FDEVID Timeout 2024-06-06 17:56:19 -04:00
David Sangrey
3209b4e1fb
[2251] ResPath Update 2024-06-06 17:25:51 -04:00
David Sangrey
264d359a29
Merge branch 'develop' into enhancement/519/add-beta 2024-05-14 18:00:36 -04:00
David Sangrey
2686b23b3b
Merge branch 'develop' into enhancement/1801/FDEV-ID-Updater 2024-05-13 20:21:42 -04:00
David Sangrey
b6e373decd
[#519] Framework Beta Update Track 2024-05-03 21:34:03 -04:00
David Sangrey
960fb2dc82
[1808] Add Folder If Not Exist 2024-04-28 15:34:02 -04:00
David Sangrey
af207f60e8
[1801] FDEV ID Local Updater
This removes the FDEV ID Submodule, and instead hands over responsibility for maintaining the fdev id files to the internal system updater. Instead of the full submodule, we only pull the two files we need.
2024-04-27 20:10:09 -04:00
David Sangrey
080d9f98f2
[1812] Handover Translations 2024-04-22 17:33:28 -04:00
David Sangrey
3c6ea3c932
[Minor] Comment Clarify 2024-04-05 17:50:30 -04:00
David Sangrey
016fb96e06
[2186] General Cleanup 2024-03-27 22:01:49 -04:00
David Sangrey
57cd75e75e
[2186] Additional Files 2024-03-27 19:39:51 -04:00
David Sangrey
0b90ca7708
[Minor] More Type Hints 2024-01-05 15:39:26 -05:00
David Sangrey
881c94a619
[Lang] Update Lang Comment 2024-01-04 15:22:57 -05:00
David Sangrey
41b879716f
[2140] Translate Newver Str 2024-01-04 15:22:50 -05:00
David Sangrey
b2d5e13465
[2051] Update Supporting Files
Not touching any of the big ones, but some clarification updates to many of the supporting files.
2023-11-17 11:33:26 -05:00
Athanasius
449e3e4ddc
update.py: Log when internal check finds no new version
It just makes quick debugging easier.
2022-12-30 18:13:57 +00:00
Athanasius
04145146d7
update.py: Finaly mypy pass
* It's possible the `xml` code could be changed to make types work.  But
  the code works, ignore types on those calls.
2022-12-04 15:12:46 +00:00
Athanasius
74ebba20b4
update.py: Remove unused 'global root' & some more typing
`global root` was never removed after `self.root` became a thing.
2022-12-04 15:08:38 +00:00
Athanasius
e419e6dca0
update.py: Technically Updater.root can be None, so check this
The only current users of the code that blindly uses `self.root` are for
the GUI application, but let's add the checks anyway.
2022-12-04 14:56:58 +00:00
Athanasius
2ac055e8f0
update.py: Yes, we have to use .nametowidget()
'status' is a child of 'edmarketconnector', not of `self.root`.  And if
we were to do `self.root.children['edmarketconnector'].children['status']`
then we might as well use `.nametowidget()`.
2022-12-04 14:49:51 +00:00
Athanasius
eab2f35360
update.py: Minor whitespace correction 2022-12-04 14:43:00 +00:00
Athanasius
eefb56c2c0
update.py: Check appcast version is correct platform 2022-12-04 14:30:37 +00:00
Athanasius
b38044928a
update.py: Now passes flake8
**BUG FOUND**
The code in `Updater.check_appcast()` assumes that
`semantic_version.SimpleSpec.select()` will say "5.6.1 is an upgrade for
this 5.6.0".  But it doesn't.  It's looking for *matches*.

So this needs to be a proper loop/compare *and* should only take into account
options *for the current platform*.
2022-12-04 14:23:53 +00:00
Athanasius
3c47b6c782 Fix semantic_version appversion issues in update.py and setup.py 2021-04-01 14:46:43 +01:00
Athanasius
5de4950fba Change config.appversion() to return semantic_version.Version
As we're changing it to a function at this stage anyway, it might as
well return this type, not a str.
2021-04-01 14:46:43 +01:00
Athanasius
2f9789afdd Update all code to use config.appversion() as a function
This *also* caught some instances where appversion_nobuild should
already have been used, so those were both changed and updated to a
function call.
2021-04-01 14:45:52 +01:00
Athanasius
501f34836a update.py: Need to from config import config to access shutting_down 2021-01-11 17:48:47 +00:00
Athanasius
462cd25312 config: Make config.shutting_down() a property, and change 'callers' 2021-01-11 16:54:09 +00:00
Athanasius
fb1c9fc034 update: Avoid Tk event_generate() calls during shutdown. 2021-01-11 16:44:11 +00:00
Athanasius
bd81f05514 Utilise 'return None' to reduce check_appcast() indentation 2020-07-19 12:06:59 +01:00
Athanasius
739dfec114 Only import tkinter if we're type checking. 2020-07-19 12:05:37 +01:00
Athanasius
35f573bc14 Updater class now used for all updates checking
* Updater.__init__() now takes 'provider' argument to specify if we use
 the internal checking code, or the available external code.
* EDMC.py changed to utilise this with internal provider.
* EDMarketConnector.py changed to use internal provider if not frozen,
 else the internal provider.
* Corrected the darwin/MacOS toggling of auto updates checking to actually
 use the Sparkle, not WinSparkle, API call.
* Updater.check_appcast() does the internal checking:
    * class EDMCVersion to hold the information.
    * Returns None on any error, or if it didn't find a newer version.
    * Returns an EDMCVersion object if it found a newer version.
2020-07-19 11:45:07 +01:00
Athanasius
76a6eec69d Updater.check_appcast() added to 'run from source' version
Tested as working with EDMarketConnector.py.
2020-07-19 11:45:07 +01:00
Athanasius
af1c313dc3 update.py: Note to redo 'manual' version check 2020-07-19 11:45:07 +01:00
Athanasius
ef3f14daaa Define appversion_nobuild in config.py for use elsewhere
Already need this in update.py, but will also adjust the 'Release Notes'
URL to use this, not full version.
2020-07-19 11:45:06 +01:00
Athanasius
560ac5f81a Semantic Version support: py2exe & WinSparkle
* py2exe only supports Major.Minor.Patch(.Revision), so pass only
Major.Minor.Patch to it.  'File version' of generated EXEs will have
a `.0` appended as .Revision.

* Set 'product_version' in py2exe with the full version string.  This
ends up in the EXE 'Product version' property.

* WinSparkle accidentally suppoorts semver -prerelease correctly, but
not +buildmetadata.  So trim the latter off and set that as the version
for checks.
2020-07-19 11:45:06 +01:00
Athanasius
259bb3bbd6 Merge branch 'release-final-python27' into python3 2020-06-21 16:43:02 +01:00
Jonathan Harris
6e8f667daa Fixes for Sparkle & WinSparkle updating 2020-06-21 16:32:08 +01:00
Athanasius
71e5f10457 Minor cleanup. 2020-06-21 16:23:01 +01:00
Athanasius
78073790df update.py: De-future 2020-06-21 16:23:01 +01:00
Athanasius
90b05d22c5 Now runs without console errors so far as pressing 'Update' is concerned.
There's an error on the console about an iterator when doing so
though.
2020-06-21 16:23:00 +01:00
Athanasius
4d5fa590af New option to NOT check for app updates automatically if in-game.
* Stores disable_autoappupdatecheckingame in settings.
  * If 'disable' is active then once you're in-game WinSparkle auto
    check for updates is disabled.
  * Whatever the state of the option WinSparkle auto updates are
    (re-)enabled when you exit the game to Main Menu or fully.
  * Using 'Help' > 'Check for updates' manually will still always work.

It has been difficult to test the code fully because it isn't easy to
get WinSparkle's registry data about last update check time set just right
to not check immediately, but to do so some reasonable time after you're
in-game and have confirmed the new option setting isn't easy.
  Worst case people won't learn about an update until the next time they
run EDMC.
2020-06-20 20:46:05 +01:00
Jonathan Harris
929bd82684 Allow executable and plugins to be run from non-ASCII paths
Fixes #234
2017-08-19 16:03:39 +01:00
Jonathan Harris
2f206d528b Verify SSL certs only if Python supports SNI
http://docs.python-requests.org/en/master/community/faq/#what-are-hostname-doesn-t-match-errors
2016-03-27 18:54:37 +01:00