1
0
mirror of https://github.com/EDCD/EDMarketConnector.git synced 2025-04-16 17:12:21 +03:00

52 Commits

Author SHA1 Message Date
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
ea2c7f6894 Revert accidental change to test update_feed. 2020-07-19 11:45:07 +01:00
Athanasius
1ee8756983 Re-engineering of EDMC.py version update check
* Uses semantic_version.
* Filters on sparkle:os.
* Catches specific exceptions.
2020-07-19 11:45:07 +01:00
Athanasius
b1e1fc3a34 Restore 'EDMC -v' to announcing newer versions.
I got too enthusiastic in 3ff77c3c54dea4bf36d957cd2dbd5b1b02dcb094 when
I removed the "cut it down to A.BC" code.  This restores the old output,
but using a less confusing if/else.
2020-07-15 10:27:29 +01:00
A_D
be98365fb3
Fix #568 with ENV var workaround
EDMC.py would break due to an import chain that ends up in theme. Theme
does a whole bunch of work to setup our GUI for EDMarketConnector.py,
but it does this on any import, which will fail spectacularly if there
is either no DISPLAY var set or no X11 libs available on our machine at
all (as a sidenote this means it probably also breaks on a wholly
wayland install).

This fixes the issue by adding a check for an environment variable on
import of theme. This can and WILL break if the env var is set and
EDMarketConnector.py is used, but if you do that its your own fault.
2020-07-08 17:55:54 +02:00
Athanasius
3ff77c3c54 EDMC.py: import re, fix version compare and report
* I neglected to `import re` when I changed the Journal file name check.
* `map` isn't comparable in Python 3.7, need to `list()` it as well.
* Just print the full `appversion`.  The old code was assuming that none of
  A, B, C, D in A.B.C.D would be two or more digits.

close #566
2020-07-07 19:02:06 +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
Jonathan Harris
92bbe7839b We don't need to explicitly set REQUESTS_CA_BUNDLE any more 2019-09-30 03:07:38 +01:00
Jonathan Harris
159bf95b77 All executable files invoked with #!/usr/bin/env python3 2019-09-30 02:50:52 +01:00
Athanasius
e51b4f5c68 Cleanup of EDMC.py and related code. All flags tested.
Mostly the usual file-mode versus .encode('utf-8') tweaks, but also
one list() needed around a <dict>.values().
2019-09-26 11:40:42 +01:00
Athanasius
f91baf8911 EDMC.py: Small fix to exception handling.
Now stymied on further work due to game patch today and CAPI being
down.
2019-09-26 11:40:42 +01:00
Athanasius
df987a3a40 Fixes up "EDMC.py -j" for python3 2019-09-26 11:40:42 +01:00
Athanasius
e9931aa348 Initial work on getting the EDMC.py CLI to work under python3
*) Fix up print usage
  *) cPickle -> cpickle
  *) "EDMC.py -p <cmdr name>" appears to have never been properly
  updated for multi-account support.
2019-09-26 11:40:42 +01:00
Athanasius
ac03fc583e Updates "EDMC.py -p <cmdr name>" for multi-account support. (#450) 2019-09-18 15:24:07 +01:00
Jonathan Harris
2a557fd37c Drop "keyring" requirement
Ref #418
2019-05-21 16:15:03 +02:00
Jonathan Harris
a03d7dcd1e Fix for command-line program 2018-12-28 16:41:10 +00:00
Jonathan Harris
f17f5d3f25 PKCE OAuth2 access to cAPI 2018-12-28 03:32:26 +00:00
Jonathan Harris
ae6642d909 Fix localisation crash
Should have been committed with a442d2c
2018-05-13 23:38:51 +01:00
Jonathan Harris
0eaa61bdd9 Make system and station info websites configurable 2018-04-03 01:03:07 +01:00
Jonathan Harris
b3f6751a5b Handle empty shipyard at stations under repair
Fixes #296
2018-03-09 14:51:00 +00:00
Jonathan Harris
9c8a3d628a Handle hard dependency on certifi in requests>=2.16 2018-03-01 02:57:54 +00:00
Jonathan Harris
b2f13e94c7 Separate error for cAPI SKU failure 2017-10-06 19:49:04 +01:00
Jonathan Harris
1767df031a Only care about lastStarport if docked 2017-10-06 19:44:54 +01:00
Jonathan Harris
c2a17e60ca Collate commodities indexed by id and including symbolic name
Use collated info in export to older tools.
2017-09-23 12:58:53 +01:00
Jonathan Harris
e438ba216a No longer collate average commodity prices 2017-09-13 15:40:41 +01:00
Jonathan Harris
302ce0b637 Update to the 2.4 cAPI 2017-09-13 14:16:33 +01:00
Jonathan Harris
93adfff746 Use StationServices to determine whether to retry for shipyard data 2017-08-23 19:40:18 +01:00
Jonathan Harris
4042862d15 Get Cmdr name from Journal 2017-08-21 19:56:26 +01:00
Jonathan Harris
e070570387 Support for Beta. Validate command-line output against the Journal. 2017-08-21 19:42:24 +01:00
Jonathan Harris
66b9699b45 Drop support for exporting in Coriolis-specific format 2017-08-18 15:38:22 +01:00
Jonathan Harris
249e71e43c Fix sending to EDDN
Was broken by d4dddb6
2017-07-31 18:00:16 +01:00
Jonathan Harris
bfda388d65 Can specify player account by Cmdr name 2017-07-31 18:00:16 +01:00
Jonathan Harris
fe0835be10 Switch eddb integration to a plugin 2017-07-29 14:42:00 +01:00
Jonathan Harris
cf9ff04082 Fix for first-time login 2017-06-16 23:46:53 +01:00
Jonathan Harris
efc1cb33b6 Use new Beta universe Companion API server. 2017-06-16 18:22:00 +01:00
Jonathan Harris
a3949c17c8 Use keyring for password storage
Fixes #89
2017-01-27 13:38:40 +00:00
Jonathan Harris
a67eb982d8 Multi-account support
Fixes #121
2017-01-22 20:16:32 +00:00
Jonathan Harris
170d1435fb Default loadout format is now Companion API json 2016-11-20 00:35:39 +00:00
Jonathan Harris
f790468078 Move functions that manipulate API output 2016-11-19 17:21:39 +00:00
Jonathan Harris
dd2bdd15f6 Fix version check on Windows 2016-09-25 00:33:52 +01:00
Jonathan Harris
c206170cc3 Add option to send data to EDDN
Fixes #139
2016-08-27 11:58:37 +01:00
Jonathan Harris
a89ac59a04 Switch to new EDDN schemas
Ref https://github.com/jamesremuscat/EDDN/pull/47
2016-08-22 18:19:32 +01:00
Jonathan Harris
2f0468333a Fix collation from JSON dump 2016-07-08 00:33:45 +01:00
Jonathan Harris
a3cc31a894 Option to save raw JSON data from Companion API 2016-06-20 17:01:16 +01:00
Jonathan Harris
0a88e3e0ab Support for collating from JSON dump 2016-06-19 16:47:28 +01:00
Jonathan Harris
a5a4a8a415 Don't filter data based on station's entry in eddb
Assumes that FDev have fixed the issue behind #16 and similar for outfitting.
2016-06-05 18:34:46 +01:00
Jonathan Harris
ee28daacc9
Add average prices to command-line output 2016-06-03 11:44:52 +01:00
Jonathan Harris
cdf732c62f Add version check. 2015-12-30 17:08:20 +00:00
Jonathan Harris
777d5b96e5 Send outfitting from unknown stations. 2015-12-30 17:08:20 +00:00
Jonathan Harris
abc5100b39 Restore stats display with remaining info - i.e. balance, ranks and ships.
Also make this info available from the command-line.
2015-11-25 16:14:33 +00:00