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

Merge branch 'develop' into python3

This commit is contained in:
Athanasius 2020-07-01 22:46:37 +01:00
commit bdb9042d81
6 changed files with 48 additions and 7 deletions

View File

@ -1,5 +1,30 @@
This is the master changelog for Elite Dangerous Market Connector. Entries are in reverse chronological order (latest first).
---
Pre-Release 3.99.0.0
===
Consider this as 'beta0' for the following full '4.0.0.0' release.
* This release is based on Python 3.7, not 2.7, so a user might find some of their plugins stop working. If you have any that do not have the proper support you'll see a popup about this, at most once every 24 hours, when you start the program. As directed on that popup you can check the status of your plugins on 'File' > 'Settings' > 'Plugins' in the new 'Plugins Without Python 3.x Support:' section.
If the popup gets annoying then follow the directions to [Disable a plugin](https://github.com/EDCD/EDMarketConnector/blob/develop/PLUGINS.md#disable-a-plugin).
For any plugins without Python 3.x support you should first ensure you're using the latest version of that plugin. If that hasn't been updated then you might want to contact the plugin developer to see if they'll update the plugin. For some plugins [check this list](https://github.com/EDCD/EDMarketConnector/wiki/Plugins#available-plugins---confirmed-working-under-python-37).
* Translations updated:
* New languages: Serbian (Latin, Bosnia and Herzegovina) (175/175), Slovenian (Slovenia) (144/175).
* New phrases were added and the only 100% translated languages are now: French, German, Ukrainian, Spanish, Russian, Czech, Japanese, Serbian (Latin), Portugese (Portugal), Serbian (Latin, Bosnia and Herzegovina).
Please do contribute on [the OneSkyApp project](https://marginal.oneskyapp.com/collaboration/project/52710) if you are able to.
* Fixes a bug where certain combinations of 'Output' and 'EDDN' options would lead to both reverting to their defaults.
* EDDB plugin now uses a system's SystemAddress to construct the URL to view the system on eddb.io. This removes the need for the systems.p file. That file will be removed in a future version, plugin authors should not be relying on its presence.
* EDDB plugin now uses a station's MarketID to construct a URL to view the station on eddb.io. This removes the need for stations.p. That file will be removed in a future version, plugin authors should not be relying on its presence.
NB: It's now using the system's "Population" data from Journal messages to determine if the system has stations or not. This allows for the `×` as station name to be clickable to open the eddb.io page for system when you're not docked. It's known that some systems with stations have a Population of "0" and thus won't allow this functionality. This is Frontier's issue, not EDMC's. If you logged out in a populated system, run EDMC afresh, and use the 'Update' button you won't see the `×` until you login fully to the game.
* New 'Help' > 'About E:D Market Connector' menu item to show the currently running version. Includes a link to the release notes.
Release 3.46
===

View File

@ -737,7 +737,7 @@ class AppWindow(object):
row += 1
self.appversion_label = tk.Label(frame, text=appversion)
self.appversion_label.grid(row=row, column=0, sticky=tk.E)
self.appversion = HyperlinkLabel(frame, compoun=tk.RIGHT, text=_('Release Notes'), url='https://github.com/EDCD/EDMarketConnector/releases/tag/rel-{VERSION}'.format(VERSION=appversion), underline=True)
self.appversion = HyperlinkLabel(frame, compoun=tk.RIGHT, text=_('Release Notes'), url='https://github.com/EDCD/EDMarketConnector/releases/tag/Release/{VERSION}'.format(VERSION=appversion), underline=True)
self.appversion.grid(row=row, column=2, sticky=tk.W)
row += 1
############################################################

View File

@ -4,8 +4,8 @@ Plugins allow you to customise and extend the behavior of EDMC.
# Installing a Plugin
EDMC loads all plugins it finds in it's `plugins` folder. You can easily find this on your system via the Plugins tab
of the Settings window.
EDMC loads all plugins it finds in it's `plugins` folder. The location of this is shown on "File" > "Settings" >
"Plugins" (tab). There's also a button to "Open" it. Defaults for this location are listed in the next section.
# Writing a Plugin
@ -19,6 +19,7 @@ Each plugin has it's own folder in the `plugins` directory:
Plugins are python files. The plugin folder must have a file named `load.py` that must provide one module level function and optionally provide a few others.
##Startup
EDMC will import the `load.py` file as a module and then call the `plugin_start3()` function.
```python
@ -29,9 +30,11 @@ def plugin_start3(plugin_dir):
print("I am loaded! My plugin folder is {}".format(plugin_dir))
return "Test"
```
The string you return is used as the internal name of the plugin.
Any errors or print statements from your plugin will appear in `%TMP%\EDMarketConnector.log` on Windows, `$TMPDIR/EDMarketConnector.log` on Mac, and `$TMP/EDMarketConnector.log` on Linux.
##Shutdown
This gets called when the user closes the program:
```python
@ -47,10 +50,12 @@ If your plugin uses one or more threads to handle Events then stop and join() th
# Plugin Hooks
## Configuration
If you want your plugin to be configurable via the GUI you can define a frame (panel) to be displayed on its own tab in EDMC's settings dialog. The tab title will be the value that you returned from `plugin_start`. Use widgets from EDMC's myNotebook.py for the correct look-and-feel. You can be notified when the settings dialog is closed so you can save your settings.
If you want your plugin to be configurable via the GUI you can define a frame (panel) to be displayed on its own tab in EDMC's settings dialog. The tab title will be the value that you returned from `plugin_start3`. Use widgets from EDMC's myNotebook.py for the correct look-and-feel. You can be notified when the settings dialog is closed so you can save your settings.
You can use `set()`, `get()` and `getint()` from EDMC's `config.config` object to retrieve your plugin's settings in a platform-independent way.
**Be sure to use a unique prefix for any settings you save so as not to clash with core EDMC or other plugins.**
Use `numberFromString()` from EDMC's `l10n.Locale` object to parse input numbers in a locale-independent way.
```python
@ -176,7 +181,7 @@ def cmdr_data(data, is_beta):
sys.stderr.write(data.get('commander') and data.get('commander').get('name') or '')
```
The data is a dictionary and full of lots of wonderful stuff!
The data is a dictionary containing the response from Frontier to a CAPI `/profile` request.
### Plugin-specific events

View File

@ -8,7 +8,7 @@ from sys import platform
appname = 'EDMarketConnector'
applongname = 'E:D Market Connector'
appcmdname = 'EDMC'
appversion = '3.5.1.0'
appversion = '3.99.0.0'
copyright = u'© 2015-2019 Jonathan Harris, 2020 EDCD'
update_feed = 'https://raw.githubusercontent.com/EDCD/EDMarketConnector/releases/edmarketconnector.xml'

View File

@ -138,3 +138,14 @@ The final step below is what fully publishes the release for running EDMC instan
1. `git checkout releases`
1. `git merge release-3.5.0.0`
1. `git push origin`
1. You should also merge the code into the `stable` branch for easy reference.
Pre-Releases
===
If you are making a pre-release then:
1. **DO NOT** Edit edmarketconnector.xml at all. No, not even if you think you won't accidentally merge it into `releases`. Just don't change it at all.
1. **DO NOT** merge into `releases`.
1. **DO NOT** merge into `stable`.
1. *Do* merge the code into `beta` after you have made a 'pre-release' on GitHub.

View File

@ -154,7 +154,7 @@ setup(
'script': APP,
'icon_resources': [(0, '%s.ico' % APPNAME)],
'company_name': 'EDCD', # WinSparkle
'product_name': APP, # WinSparkle
'product_name': APPNAME, # WinSparkle
'version': VERSION,
'copyright': COPYRIGHT,
'other_resources': [(24, 1, open(APPNAME+'.manifest').read())],