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

5046 Commits

Author SHA1 Message Date
Athanasius
5070c3686f
companion.Session: Don't double-initaliase requests_session
I forgot to remove the `requests.Session()` call in `start_frontier_auth()`.
And upon removing that we need a `None` trap to make mypy happy.
2022-12-16 15:40:48 +00:00
Athanasius
729016cf38
companion.py: Fix exception type & initialise a requests_session
* Use `Exception` not `BaseException` for `EDMCCAPIFailedRequest.exception`.
* Initialise Auth.request_session in its `__init__()`.  This *should* fix
  #1727 - as there'll then be no way for a `Session` to have methods invoked
  without this set up.
2022-12-16 15:35:59 +00:00
Athanasius
ba68397b3f
CAPI killswitches: endpoint killswitches & eddn export ones too
* Added `capi.request.<endpoint>` killswitches at appropriate call points.
* Added `eddn.capi_export.<type>` killswitches.  This allows for killing
  just the EDDN export of such CAPI-derived data, without stopping the actual
  queries, as other plugins/functionality might still have harmless use of
  the data.
* PLUGINS.md: Actually describe the contents of `data` passed to plugins, and
  point out it might not always contain market or shipyard data.  This is
  not only because of the new killswitches, but could already have happened
  if the station/port docked at didn't have the services.
* Some misc typing cleanups.
2022-12-16 15:06:01 +00:00
Athanasius
1cc4a9d0af
CAPI killswitches: 'capi.auth' now preventing all CAPI actions. 2022-12-16 14:17:00 +00:00
Athanasius
12ee3deb59
killswitches: Implement --killswitches-file CL arg
* New CL arge `--killswitches-file`.  This needs to reference a file either
  with an absolute path, or relative to the CWD of the process.
* Internally if the argument is provided it is prefixed with `"file:"` in
  order to actually be loaded.  This is because `requests` doesn't have an
  adapter for `file:` URLs.
* Also fixes a visual bug with reporting of active killswitches.  The entire
  SingleKill object was used instead of just its `reason` property.  mypy
  type checks caught this.
2022-12-16 14:02:59 +00:00
Athanasius
f1b2022aa2
.mypy.ini: s/-/_/g on check-untyped-defs 2022-12-16 13:27:21 +00:00
Athanasius
98527e7aa0
pre-commit: Bump mypy to current latest version
* The older version didn't like `check_untyped_defs = True` in .mypy.ini.
* Trying `-repo: local` lead to an error about config options.
* We really need a way to have this track the non-pre-commit version of mypy.
2022-12-16 13:24:50 +00:00
Athanasius
f789ad6e24
companion: A start on adding CAPI killswitches 2022-12-16 13:22:30 +00:00
Athanasius
a9ff256afd
Merge branch 'release-5.7.0' into develop 2022-12-16 11:18:47 +00:00
Athanasius
defdc2b325
Release 5.7.0: appversion & changelog
No functional changes from 5.7.0-rc1, just a few ChangeLog tweaks.
Release/5.7.0
2022-12-16 10:51:43 +00:00
Athanasius
3c99435865
Merge pull request #1757 from EDCD/dependabot/pip/develop/autopep8-2.0.1
build(deps-dev): bump autopep8 from 2.0.0 to 2.0.1
2022-12-15 18:36:08 +00:00
dependabot[bot]
395dde1c09
build(deps-dev): bump autopep8 from 2.0.0 to 2.0.1
Bumps [autopep8](https://github.com/hhatto/autopep8) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/hhatto/autopep8/releases)
- [Commits](https://github.com/hhatto/autopep8/compare/v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: autopep8
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-15 17:00:54 +00:00
Athanasius
bd6243c845
Merge pull request #1756 from EDCD/dependabot/pip/develop/isort-5.11.2
build(deps-dev): bump isort from 5.11.1 to 5.11.2
2022-12-14 17:02:31 +00:00
dependabot[bot]
28071181a1
build(deps-dev): bump isort from 5.11.1 to 5.11.2
Bumps [isort](https://github.com/pycqa/isort) from 5.11.1 to 5.11.2.
- [Release notes](https://github.com/pycqa/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pycqa/isort/compare/5.11.1...5.11.2)

---
updated-dependencies:
- dependency-name: isort
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-14 17:01:07 +00:00
Athanasius
34fe5917ae
develop: Bump appversion to 5.7.1-alpha0 2022-12-14 15:32:10 +00:00
Athanasius
39867acdd5
5.7.0-rc1/ChangeLog: Fix minor typo 2022-12-14 14:21:43 +00:00
Athanasius
858efbdd54
Pre-Release 5.7.0-rc1: appversion and changelog Release/5.7.0-rc1 2022-12-14 14:02:34 +00:00
Athanasius
e2f4f8f665
PLUGINS.md: Slightly improve CAPI Legacy/Live doc 2022-12-14 13:51:29 +00:00
Athanasius
281703aa99
FDevIDs: Updated to latest master 2022-12-14 12:26:56 +00:00
Athanasius
d6103aee9e
corilios-data: Updated, and new modules.p content. 2022-12-14 12:26:05 +00:00
Athanasius
0a01a8c24c
edmc_data: Small tweaks to try and make outfitting.py happier
But, as it turns out, the uses of this code and data are very minimal.
No-one's been complaining about things being out of date or not working.

All of these *_map dictionaries are just for mapping parts of module
identifiers to English Text.  In the end they only end up in the output of
`EDMC.py -e <file>`, which despite being called "E:D Shipyard plain text
format" isn't actually supported by edsy.org.
2022-12-14 12:24:07 +00:00
Athanasius
97d0ecec7b
coriolis.py: Don't bother with the 'Check data is present' thing
* Also two missileracks are *not* now 'missing' in coriolis-data, so no need
  to manually add them.
2022-12-14 12:23:14 +00:00
Athanasius
fa8bbe8fa4
Python: Bump to version 3.11.1, still 32-bit
Build tested, both .exe files work from `dist.win32` directory.
2022-12-14 11:47:07 +00:00
Athanasius
57cdda6218
docs/Releasing: no .wxs file updated needed for python version bump
The file is auto-generated, so the "different filename of python DLLs" is
taken care of by the build process.
2022-12-14 11:45:59 +00:00
Athanasius
2fdc14c371
requirements-dev: Bump lxml to 4.9.2
This version has Python 3.11 wheels.
2022-12-14 11:39:05 +00:00
Athanasius
d48501c37b
Merge pull request #1754 from EDCD/fix/1720/EDMC_-n
EDMC.py quietening and fixes
2022-12-14 11:32:13 +00:00
Athanasius
e245a75e61
EDMC: Get -n working again
* eddn: Don't schedule `queue_check_and_send()` if EDMC_NO_UI.
* `export_(commodites|outfitting|shipyard)` lost the `is_odyssey` argument
 in 556ace5306bebbcf34c1a56a9023a822218a73f1 .
* EDDNSender: Helper `set_ui_status()` in which the check for EDMC_NO_UI
  is performed.  Used in `send_message()`.  In the EDMC_NO_UI case it will
  INFO log the text instead.
2022-12-14 11:15:20 +00:00
Athanasius
79bbc8917f
Move 'this is the GameVersion we found' logging to DEBUG
This quietens it for normal EDMC.py usage.
2022-12-14 10:51:37 +00:00
Athanasius
2ff04dd659
Merge pull request #1753 from EDCD/dependabot/pip/develop/isort-5.11.1
build(deps-dev): bump isort from 5.10.1 to 5.11.1
2022-12-14 10:42:28 +00:00
Athanasius
320236f7a7
Merge pull request #1752 from EDCD/dependabot/pip/develop/safety-2.3.5
build(deps-dev): bump safety from 2.3.4 to 2.3.5
2022-12-14 10:42:21 +00:00
Athanasius
605ad07aac
Merge pull request #1747 from EDCD/enhancement/1728/capi-for-legacy
CAPI: Enable use of Legacy host when applicable.
2022-12-14 10:42:05 +00:00
dependabot[bot]
d49e865260
build(deps-dev): bump isort from 5.10.1 to 5.11.1
Bumps [isort](https://github.com/pycqa/isort) from 5.10.1 to 5.11.1.
- [Release notes](https://github.com/pycqa/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pycqa/isort/compare/5.10.1...5.11.1)

---
updated-dependencies:
- dependency-name: isort
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-13 17:01:07 +00:00
dependabot[bot]
eb2f211188
build(deps-dev): bump safety from 2.3.4 to 2.3.5
Bumps [safety](https://github.com/pyupio/safety) from 2.3.4 to 2.3.5.
- [Release notes](https://github.com/pyupio/safety/releases)
- [Changelog](https://github.com/pyupio/safety/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pyupio/safety/compare/2.3.4...2.3.5)

---
updated-dependencies:
- dependency-name: safety
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-09 17:01:02 +00:00
Athanasius
9781e87c53
Merge pull request #1749 from EDCD/dependabot/pip/develop/certifi-2022.12.7
build(deps): bump certifi from 2022.9.24 to 2022.12.7
2022-12-09 09:52:06 +00:00
Athanasius
3260ff7ae2
Merge pull request #1748 from EDCD/dependabot/pip/develop/safety-2.3.4
build(deps-dev): bump safety from 2.3.3 to 2.3.4
2022-12-09 09:51:10 +00:00
dependabot[bot]
862aa611b1
build(deps): bump certifi from 2022.9.24 to 2022.12.7
Bumps [certifi](https://github.com/certifi/python-certifi) from 2022.9.24 to 2022.12.7.
- [Release notes](https://github.com/certifi/python-certifi/releases)
- [Commits](https://github.com/certifi/python-certifi/compare/2022.09.24...2022.12.07)

---
updated-dependencies:
- dependency-name: certifi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-08 17:01:13 +00:00
dependabot[bot]
1af1ea86f8
build(deps-dev): bump safety from 2.3.3 to 2.3.4
Bumps [safety](https://github.com/pyupio/safety) from 2.3.3 to 2.3.4.
- [Release notes](https://github.com/pyupio/safety/releases)
- [Changelog](https://github.com/pyupio/safety/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pyupio/safety/compare/2.3.3...2.3.4)

---
updated-dependencies:
- dependency-name: safety
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-08 17:01:08 +00:00
Athanasius
7e1d756db7
Merge pull request #1746 from EDCD/enhancement/1739/navroute-read-on-catchup
monitor/NavRoute: Load NavRoute after catching_up ends.
2022-12-08 14:01:58 +00:00
Athanasius
84615db839
PLUGINS.md: Allow use of CAPIData.source_host
* Additional Allowed Imports `from companion ...`.

* Plugin authors will still need to chain `cmdr_data_legacy()` to calling
  `cmdr_data()`, but with sanctioned access to `data.source_host` they can
  then determine the galaxy data source.

* Re-worked the documentation for CAPI data a little to make all of this as
  clear as possible.
2022-12-08 13:17:13 +00:00
Athanasius
af5d998464
PLUGINS.md: Correct the statement about python stdlib 2022-12-08 12:59:36 +00:00
Athanasius
a3a52055d3
CAPI/PLUGINS.md: Document cmdr_data_legacy()
For now warn against trying to use extra CAPIData properties to determine
the galaxy.
2022-12-08 12:53:31 +00:00
Athanasius
0915bad95d
CAPI/EDDN: Enable sending of Legacy data
As we already took some care in the EDDN code we can just make
`cmdr_data_legacy()` call through to `cmdr_data()`.
2022-12-08 12:10:15 +00:00
Athanasius
ccdc187efa
CAPI: Remove 'safeties' preventing Legacy CAPI queries 2022-12-08 11:58:34 +00:00
Athanasius
088da2e5f0
td.py: Update Price-Data format URL to github 2022-12-08 11:44:30 +00:00
Athanasius
78e9db710f
td.py: Fix 'oops' with file header wrt platform
Lost the `sys.platform == ` part of:

    `sys.platform == 'darwin' and ...`
2022-12-08 11:42:57 +00:00
Athanasius
75ee57939a
EDMarketConnector: Force type of ship_state
It can be `tk.NORMAL` or `tk.DISABLED`.  Why `True` was ever used I don't
know, possibly relying on undefined behaviour.

However, those 'types' end up as `Literal['normal']` and `Literal['disabled']`
and the only way to declare a Union of those is to be explicit with the
actual strings.  tk.(NORMAL|DISABLED) are not a types.
2022-12-08 11:32:41 +00:00
Athanasius
6a580576ec
mpyp: Always use --check-untyped-defs
`mypy EDMarketConnector.py` was throwing a warning:

    By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]

for some things.  Bizarrely including e.g.

    play_bad: bool = False
2022-12-08 11:29:49 +00:00
Athanasius
b6fe115ea7
CAPI: Add support for plugin cmdr_data_legacy()
* Renames `plug.notify_newdata()` to the more precise `notify_capidata()`.
* If CAPI data was from SERVER_LEGACY, then use plugin `cmdr_data_legacy()`
  instead of `cmdr_data()`.
2022-12-08 11:17:52 +00:00
Athanasius
b754ef8700
companion: mypy fixups & misc
* Some `Optiona[str]` required.
* Remove old pre-CAPIData comment about adding it
2022-12-08 11:06:43 +00:00
Athanasius
9fdf768ce3
CAPI: Enable selection of SERVER_LEGACY in capi_host_for_galaxy()
Also adds DEBUG logging for the selection.
2022-12-08 11:02:39 +00:00