Commit Graph
57 Commits
Author SHA1 Message Date
David Sangrey aeed31acd1 [Minor] Add Back Pass
Stylistic choice after discussion in Discord

Signed-off-by: David Sangrey <rixxan@hullseals.space>
2025-04-12 12:23:18 -04:00
David Sangrey 336c627c07 [#1822] Better Update Checks
Also simplifies some if-else checks and sets up cleaner handling of the requests response
2025-04-11 19:55:01 -04:00
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