Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CAPI: Enable use of Legacy host when applicable. #1747

Merged
merged 12 commits into from
Dec 14, 2022

Conversation

Athanasius
Copy link
Contributor

There's a separate CAPI host for Legacy data. Enable use of this.

Closes #1728

Also adds DEBUG logging for the selection.
* Some `Optiona[str]` required.
* Remove old pre-CAPIData comment about adding it
* 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()`.
`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
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.
Lost the `sys.platform == ` part of:

    `sys.platform == 'darwin' and ...`
As we already took some care in the EDDN code we can just make
`cmdr_data_legacy()` call through to `cmdr_data()`.
@Athanasius Athanasius added enhancement CAPI Issues relating to CAPI support EDDN labels Dec 8, 2022
@Athanasius Athanasius added this to the 5.7.0 milestone Dec 8, 2022
@Athanasius Athanasius self-assigned this Dec 8, 2022
For now warn against trying to use extra CAPIData properties to determine
the galaxy.
* 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.
@Athanasius Athanasius merged commit 605ad07 into develop Dec 14, 2022
@Athanasius Athanasius deleted the enhancement/1728/capi-for-legacy branch December 14, 2022 10:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CAPI Issues relating to CAPI support EDDN enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant