Commit Graph
183 Commits
Author SHA1 Message Date
A_D 48427a770d Updated monitor to support '' configured journal dir 2021-04-01 14:45:46 +01:00
A_D 278480b99f replaced ors with defaults in config usage 2021-04-01 14:45:46 +01:00
Athanasius 25852997c5 Updated all source to use new config methods
# Conflicts:
#	monitor.py
2021-04-01 14:45:46 +01:00
Athanasius 8b3785cdf7 monitor.py: Detailed logging EDLogs.worker() 2021-04-01 14:45:44 +01:00
Athanasius 9be7f14573 monitor.py: Detailed logging EDLogs.start() 2021-04-01 14:45:44 +01:00
Athanasius 4a84d9c341 monitor: Detailed logging EDLogs.stop()
# Conflicts:
#	monitor.py
2021-04-01 14:45:44 +01:00
Athanasius 7ebf2a553a monitor: Detailed logging EDLogs.close() 2021-04-01 14:45:44 +01:00
Athanasius f53d2cfb7c Remove "If it's not Fleet Carriers it's beta" check
Odyssey Alpha confirmed to have 'alpha' in gameversion.
2021-03-29 15:41:57 +01:00
Athanasius f8057925a5 Odyssey: Support JournalAlpha.<etc>.log files 2021-03-29 13:50:18 +01:00
Athanasius 5fcafe52d3 Attempt writing new file if reading old one fails for any reason. 2021-03-29 10:15:52 +01:00
Athanasius fd03bf6427 Add try/except retry/paranoia to monitor.export_ship()
An old loadout might have been written before we made any attempt at
utf-8.

Even now, if someone is on sufficiently old Windows we might not be on
utf-8. If that's the case then no telling what will/won't work, but try
to read/write with utf-8 first, and fall back to default encoding if it
fails.
2021-03-29 09:05:17 +01:00
Athanasius aab2a58a2d Reduce some log spam:
* Comment out the traceback in plugins/eddn.py, the return is enough.
* 'Called with no event_queue' can be TRACE.
* Don't care about "Everything was alright, the near-neutral status just
  wasn't stored." from Inara.
2021-03-23 13:48:44 +00:00
Athanasius 83f8f4f547 Clean up "not Fleet Carriers" gameversion check
1. No need for the () on the if.
2. Log when we force is_beta = True from this.
2021-03-23 12:44:12 +00:00
Athanasius c722a1cada Extra paranoia: Don't pick up 'JournalAlpha...' for now
It's possible FDev will use JournalAlpha, but forget to change the
gameversion string.
2021-03-23 12:40:28 +00:00
Athanasius f9034076d8 Extra paranoia about game version for forthcoming Odyssey Alpha
1. Pick up 'JournalAlpha' files if they ever are a thing.
2. Pick up 'alpha' in gameversion to set is_beta = True.
3. For now any gameversion without 'Fleet Carriers Update' is considered
   a beta.
2021-03-23 12:37:05 +00:00
Athanasius a6939c77d9 Backport of fix/891/force-localserver-for-auth_fix-journallock-import
* Move JournalLock into its own file.
2021-03-09 12:37:59 +00:00
Athanasius d8e9748c88 Small tweak to "couldn't lock" message 2021-03-05 16:02:36 +00:00
Athanasius f3ef653a8d Change journal changed locking strings to translations. 2021-03-05 15:46:30 +00:00
Athanasius f449286983 Implement retry of locking when journal dir changed.
In case the user does have another EDMC instance running that they need
to kill first.
2021-03-05 15:08:13 +00:00
Athanasius 447cd2c2d7 Remove unused monitor.JournalLock.self.journal_dir_lock 2021-03-05 14:18:34 +00:00
Athanasius 4884f75419 Change self.journal_dir* vars when updating lock.
* Also, need to seek(0) before unlock to be operating on correct range
of bytes with msvcrt.locking().
2021-03-05 13:46:10 +00:00
Athanasius e9c31c3293 Implement releasing of monitor.JournalLock()
* Implement JournalLock.release_lock().
* Renamed other methods to remove journaldir_ prefix.
* Slightly tweak the code flow for obtaining the lock.
* Implement JournalLock.update_lock(), called from AppWindow.postprefs().
2021-03-05 12:45:22 +00:00
Athanasius c0e7be98f8 Move journal locking code into new monitor.JournalLock class 2021-03-05 12:03:54 +00:00
Athanasius 462cd25312 config: Make config.shutting_down() a property, and change 'callers' 2021-01-11 16:54:09 +00:00
Athanasius 571f9665b3 monitor: Avoid Tk event_generate() calls during shutdown. 2021-01-11 16:43:07 +00:00
Athanasius 81974f66ec monitor/dashboard: move away from if __debug__
This includes changing one print_exc() to logger.exception()
2021-01-08 14:56:22 +00:00
Athanasius 8a0a82fe43 monitor: Bail from get_entry() if self.thread is None
If there's no thread to have sent the message then we shouldn't care
about it as this means we're in shutdown.
2021-01-08 14:56:22 +00:00
Athanasius 95b87f5b7b monitor: Detect shutdown and bail in log reading loop
This should mean not even generating <<JournalEvent>> Tk events once
self.thread == None.
2021-01-08 14:56:22 +00:00
A_D 525f0b05e7 Added doctest 2021-01-05 14:34:52 +00:00
A_D b04b39fa8a Fix multiple missions with the same cargo type
A user can collect multiple missions with the same mission cargo, which
is added to the cargo.json as distinct entries. Previously we would take
the last number as the total, leading to invalid counts (and possibly
negative counts).

This adds a method to sum cargo entries based on the cargo name. It also
adds a field on status to access the original cargo JSON data.

Fixes #817
2021-01-05 14:34:51 +00:00
Athanasius 1aba1a0596 Trace: Change several calls from debug to trace. 2020-09-23 22:07:18 +01:00
Athanasius d8ea6a0a94 monitor.py: Fix typo of info() 2020-09-23 15:32:36 +01:00
Athanasius 85d45aadd7 Place detailed logging for "Location" events.
To try and track down what's happening with #713
2020-09-23 11:45:48 +01:00
Athanasius 3afcac0dea monitor.py: Use logging for Journal Folder/File announcements 2020-09-22 18:49:07 +01:00
Athanasius b1d35e0579 Merge branch 'fix/639-crash-linux-unset-journal-dir' into develop 2020-07-27 18:12:40 +01:00
A_D 6ab4433c59 Add TODO regarding type config 2020-07-27 19:07:54 +02:00
A_D 1b543e5820 Dont crash when journal_dir is None
Ensures that journal_dir is always at least an empty string.

Fixes #639
2020-07-27 18:55:59 +02:00
A_D c6e61cc3da Fix ~ not being expanded on linux 2020-07-26 23:08:47 +01:00
A_D 179e06d6e9 added informational comment on private access 2020-07-26 23:08:47 +01:00
A_D ecfed2b558 Modified dict comprehension to be more clear 2020-07-26 23:08:47 +01:00
A_D d9658f2cf9 Fixed alignment and comment grammar 2020-07-26 23:08:47 +01:00
A_D 9a482cb04b Added type annotations where needed
Not everywhere because they can be inferred in a lot of places. But I
added them to a lot of the self.* variables
2020-07-26 23:08:47 +01:00
A_D 21ab456e22 Added variables for repeatedly indexed keys
Repeatedly indexing keys is in general slow. And, not only is it slow,
it makes reading code hell.
2020-07-26 23:08:47 +01:00
A_D 12fdbd0678 Replaced x in list with x in tuple
Tuples are immutable, so this ensures that there isn't any funny business
at runtime
2020-07-26 23:08:47 +01:00
A_D 85c27e4cd7 Replaced or-based ternaries with standard ones 2020-07-26 23:08:47 +01:00
A_D 40aa4f9e63 Added whitespace on scope changes 2020-07-26 23:08:47 +01:00
A_D a6d6599c3b Moved logfile regexp to class level constant
Regular expressions are expensive to recompile constantly, and while the
python regexp library currently caches reuse, it only does so to a point
and that is not a required behaviour.

Compiling regexps once is simply best practice. On top of this, the
regexp was duplicated in various places.
2020-07-26 23:08:47 +01:00
A_D b010b8015d Aligned values of large dicts
helps your eyes track the changes
2020-07-26 23:08:47 +01:00
A_D ed45d59af1 Replaced modulo formatters with .format formatters 2020-07-26 23:08:47 +01:00
A_D 05e6d49880 replaced list comp with generator where possible 2020-07-26 23:08:47 +01:00