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

1452 Commits

Author SHA1 Message Date
Athanasius
dbc177a02c Fix WinSparkle options to be under EDCD key
* When I changed 'company_name' in setup.py to 'EDCD' this caused WinSparkle to
   store, and look for, its keys there.
 * There's code in config.py that attempts to set some WinSparkle options, only
   if they weren't already there.  This is hardcoded to use the old 'Marginal'
   Registry Key.

So, explicitly do this WinSparkle setup under 'EDCD', and *always* set the
update_interval value to match what we expect.  Leave the 'CheckForUpdates'
under the 'is it already here?' check so that we respect the user's choice.
2020-07-04 11:51:01 +01:00
Athanasius
87d7c823a7 Changelog for 3.99.1.0 Release/3.99.1.0 2020-07-02 18:19:09 +01:00
Athanasius
46812e83e9 Merge branch 'develop' of https://github.com/EDCD/EDMarketConnector into develop 2020-07-02 18:07:19 +01:00
Athanasius
bbb5c52de3 Increase version to 3.99.1.0 2020-07-02 18:06:29 +01:00
Athanasius
5074c0e5f1
Merge pull request #550 from EDCD/fix/546-strict_journal_file_names
Use a strict regex for matching Journal*.log files
2020-07-02 17:56:11 +01:00
Athanasius
942cbbfcfc Use a strict regex for matching Journal*.log files
A user accidentally copied a Journal file into the same directory, resulting in
a "Journal.<datetime>.<serial> - Copy.log" file.  EDMC 3.99.0.0 then picked this
up and re-sent events to EDDN, EDSM, Inara.

So, let's be strict about the filenames we consider to be valid, live, Journal
files.

 * Journal files have one basic form: Journal.YYMMDDHHMMSS.XX.log
 * In addition the word 'Beta' can be inserted just after 'Journal'

So regex '^Journal(Beta)?\.[0-9]{12}\.[0-9]{2}\.log$' matches both and nothing
else.

Test: The "copy to same directory" that originally triggered this.  EDMC no
      longer 'sees' the copy.
Test: Copied a Journal file out, renamed it to later date/time, copied that
      back in.  EDMC saw it correctly as a new file.

NB: Didn't test the "no emitter" version at monitor.py:251, but no reason to
    think it won't also work.

closes #546
2020-07-02 17:54:04 +01:00
Athanasius
0432327045 modules.p update from latest coriolis-data 2020-07-02 17:19:45 +01:00
Athanasius
5cfbb8eb12 Start documenting necessary pre-packaging actions. 2020-07-02 16:29:10 +01:00
Athanasius
b0f4fadf7a
Merge pull request #548 from Athanasius/fix/547-New_translations_not_installed
Add the new languages to the installed files.
2020-07-02 16:08:18 +01:00
Athanasius
2dddffd1f7 Add the new languages to the installed files.
* You need to add a 'Directory' entry for the new file *and* then list it in 'Features'.
 * Translations.md updated with the necessary steps.

closes #547
2020-07-02 15:59:10 +01:00
Athanasius
79f86039d2 Merge branch 'master' into develop
This should be no actual commits, just sync'ing to be rid of
"3 commits behind master".
2020-07-01 22:55:18 +01:00
Athanasius
3b5a510653 Plugins.md: Minor edits
* One more plugin_start() -> plugin_start3()
 * Startup and Shutdown events linkified in sections.
 * Note the use of the return from plugin_start3()
 * Point out the cmdr_data() `data` dictionary is from CAPI `/profile`
2020-07-01 18:29:56 +01:00
Athanasius
3b233771ff setup.py: Use APPNAME, not APP, for product_name
'product_name' is used by WinSparkle to determine the Registry path it uses.   APP is
'EDMarketConnector.py' not the 'EDMarketConnector' that APPNAME is.  This having changed
causes a new popup from WinSparkle on first run of post-3.46 asking about whether to enable
auto update checks.

3.99.0.0 testers will gave to put up with it on first run.
2020-07-01 18:14:17 +01:00
Athanasius
d8e8869b15 Plugins.md: Minor edit about Settings 2020-07-01 18:11:20 +01:00
Athanasius
71ae6b8a34 Releasing.md: Add notes on Pre-Releases. 2020-07-01 17:21:30 +01:00
Athanasius
c1221fb6fc Change 'Release Notes' URL to use 'Release/A.B.C.D' tag form
Closes #544
2020-07-01 17:11:23 +01:00
Athanasius
0555dfdf8c Update changelog for 3.99.0.0 Release/3.99.0.0 2020-07-01 16:56:20 +01:00
Athanasius
ab375c7bac Version 3.99.0.0 as beta0 for python 3.7 release 2020-07-01 16:20:59 +01:00
Athanasius
b016d99c98
Merge pull request #543 from EDCD/issue/529-update-translations
Issue/529 update translations
2020-07-01 16:16:59 +01:00
Athanasius
b24ad5313b Add Slovenian (Slovenia) to installer languages. 2020-07-01 16:10:16 +01:00
Athanasius
8766649dc2 Update translations as of 2020-07-01 15:02 UTC
* Adds "Serbian (Latin, Bosnia and Herzegovina)
 * Also imports the 144/175 "Slovenian (Slovenia)"
2020-07-01 16:05:43 +01:00
Athanasius
f10ac1d97e Fix two typoes in docs/Translations.md 2020-07-01 16:02:25 +01:00
Athanasius
4cf03b4331 Document how to add a new translation language 2020-07-01 15:55:37 +01:00
Athanasius
aff1b89b48 Add sr-Latn-BA to the installer languages
If we're supporting it now in-app then it should be in the installer
as well.
2020-07-01 15:55:37 +01:00
Athanasius
c019166ffb Document using other translations within a string
This is useful for things like referring to the translated name of a
menu label in some other text.
2020-07-01 15:55:37 +01:00
Athanasius
0bf8ad428c Document how translations work 2020-07-01 15:55:37 +01:00
Athanasius
38593058f4 Use translations of some words in Python 3.x popup text
'File', 'Settings' and 'Plugins' are defined to have translations for
the menus/tabs texts, so use them.
2020-07-01 15:55:37 +01:00
Athanasius
9469ec3079 Use literal '.disabled' in the Python 3.x popup text 2020-07-01 15:55:37 +01:00
Athanasius
8ad1201457 Translations: Add recent new strings
* Plugins Without Python 3.x Support
 * Information on migrating plugins
 * Disable Automatic Application Updates Check when in-game

Closes #529
2020-07-01 15:55:37 +01:00
Athanasius
821111284e Add translations for python 3.x warning popup 2020-07-01 15:55:37 +01:00
Athanasius
02c232c279
Merge pull request #542 from Athanasius/feature/512-eddb-urls-without-pickles
#512 Feature/512 eddb urls without pickles
2020-07-01 15:54:00 +01:00
Athanasius
cd02d1664a Change EDDB system_url to use SystemAddress
* This means storing this.system_address from both cmdr_data and journal_entry.  NB: If the current value in the event or data is 'None' it will retain the previous value.  Without this Journal entries without SystemAddress erase the stored value.
 * The station_url() fallback to system_url() similarly uses this.system_address in the call.

Addresses #512
2020-07-01 15:51:14 +01:00
Athanasius
f6b3109a09 Remove the last of the {stations,systems}.p code from EDDB plugin
There is one tiny regression for a very, very corner case.

  In 3.46 if you use EDDB as the 'Station' provider and:

	1. Dock at Station A, in System X
	2. Jump out to System Y, which is also populated
	3. Exit out of the game
	4. (Re-)Start EDMC
	5. Hit 'Update' to manually trigger CAPI data retrieval

you will see a "×" character as the Station Name, and can click on it to
take you to the EDDB *System* page.  It is only there because of EDMC
using systems.p to check if System Y is populated.

  With this version in that circumstance there's no way to know that
System Y is populated, so the code assumes not and doesn't show the
"×", and thus there's nothing to click to go to the EDDB *System* page
for System Y.

  But so long as the user is actually running the game and EDMC together
then populated status is detected from Journal events and the "×" will
be there whenever you're undocked but in a populated system.
  Caveat: We know Frontier have allowed some systems that are
technically populated, but show a Population of zero.  This code assumes
that means they're *not* populated.
2020-07-01 15:51:14 +01:00
Athanasius
0541e404ec Track system population in monitor, and use in eddb
EDDB station link now triggers off this.system_population, which is
received via monitor passing 'Population' through in Startup, Location,
FSDJump and CarrierJump events.

  One fewer use cases for systems.p (populated status in this case).
2020-07-01 15:51:14 +01:00
Athanasius
ad81339495 Check eddb.system_name is set before attempting to quote it
urllib.parse.quote does *not* like being passed None.
2020-07-01 15:51:14 +01:00
Athanasius
6ed7590ba9 Update eddb.station_marketid from CarrierJump as well
This shouldn't actually be necessary, the marketid shouln't change
because of a jump, and would have been picked up from the other events
anyway, but it should do no harm to set it again from this.
2020-07-01 15:51:14 +01:00
Athanasius
2df8610e42 eddb: Ensure system_name is quoted for URL 2020-07-01 15:51:14 +01:00
Athanasius
1a11202aea Implement tracking station MarketID, and use in eddb plugin
* Adds monitor.station_marketid, tracked at the same points as
   monitor.station (name).
 * Changes EDDB plugin to also track its own this.station_marketid so
   that it can be used in /market-id/ EDDB URL.
   This removes a use case for stations.p file.
2020-07-01 15:51:14 +01:00
Athanasius
553c7980c1 Change EDDB system_url() to using by-name URL
This removes a use case for systems.p file
2020-07-01 15:51:14 +01:00
Athanasius
e35561c96e
Merge pull request #541 from Athanasius/feature/509-Help_About
Implements 'Help > About' menu item
2020-07-01 15:47:06 +01:00
Athanasius
314fc7082d Implements 'Help > About' menu item
* Re-uses the 'About {APP}' that was defined because the MacOS version
   always had an 'About' bit.
 * As a side effect of wanting the copyright string in the popup this is
   now defined in config.py, and setup.py has been adjusted to also take
   it from there.
 * The About popup includes a link to the release notes, contingent on
   the git tag existing on github.
 * Only one instance of the popup is allowed at once.
 * There's still a 'TODO' for moving 'Check for updates' into this
   popup.

Addresses issue #509
2020-07-01 15:44:20 +01:00
Athanasius
476f7384cf
Merge pull request #540 from Athanasius/fix/407-upload_output_settings_reset
Fix/407 upload output settings reset
2020-07-01 15:42:40 +01:00
Athanasius
89f113e190 Use Preferences Save Serial Number instead of flag
* new class `PrefsVersion` in prefs.py.  A singleton `prefsSaved` (note
   case) is created.
 * When new preferences are added and require defaults on first run the
   code should use:

     `if prefsVersion.shouldSetDefaults(<prior release version>, [<optional old test>]):`

   to check if defaults should be set in preferences.  So if prior release
   was '3.4.6.0' and you've added a new preference with defaults you should
   call this with '3.4.6.0' as the first argument.
   The <optional old test> is really only for historical purposes, as a
   fallback in case no 'PrefsVersion' has yet been set in the user's
   Registry/settings file.
 * Any code that adds such a new preference **MUST** make changes to the
   `versions` dictionary in the PrefsVersion class.
     1. Add the predicted next version to the dictionary, with number one
        higher than 'current'
     2. Set 'current' equal to that new value.
   Obviously if other post-last-release code has already done this then you
   don't need to.

   Failure to update the versions dictionary in this manner will lead to an
   Exception being raised, and the code the preferences are for failing
   (i.e. EDDN means no EDDN tab on Settings).

Closes #407
2020-07-01 15:33:42 +01:00
Athanasius
d0fdfaed0b RELEASING.md is no longer shouted. 2020-06-30 16:44:29 +01:00
Athanasius
89e78137c3 RELEASING.md is no longer shouted. 2020-06-30 16:43:10 +01:00
Athanasius
10c0509a11 RELEASING.md doesn't need to shout 2020-06-30 16:42:01 +01:00
Athanasius
79d376953d RELEASING.md doesn't need to shout 2020-06-30 16:40:40 +01:00
Athanasius
37a0195de4 Adds Contributing.md
* Outlines everything a new contributor should know.
* There's one 'XXX' to-check items with regards to Windows Installer,
  and if it does think A.B.C.1 should be installed in place of A.B.C.0.

Closes #533
2020-06-30 16:30:05 +01:00
Athanasius
263010f369 Adds Contributing.md
* Outlines everything a new contributor should know.
* There's one 'XXX' to-check items with regards to Windows Installer,
  and if it does think A.B.C.1 should be installed in place of A.B.C.0.
2020-06-30 16:26:34 +01:00
Athanasius
ecdd65e0ac prefs.py change for that output settings fix
Addresses #407
2020-06-30 15:22:50 +01:00