From 179fd147c12e41245166a1bb30c573e620cd6827 Mon Sep 17 00:00:00 2001 From: GOG Galaxy SDK Team Date: Mon, 17 Jun 2019 17:41:44 +0200 Subject: [PATCH] version 0.35.1 --- PLATFORM_IDs.md | 82 ++++++++++++++++++++++++++++++++++++++++ README.md | 12 +++++- docs/source/index.rst | 1 + docs/source/overview.rst | 8 ++++ setup.py | 2 +- src/galaxy/api/plugin.py | 10 ++++- 6 files changed, 110 insertions(+), 5 deletions(-) create mode 100644 PLATFORM_IDs.md diff --git a/PLATFORM_IDs.md b/PLATFORM_IDs.md new file mode 100644 index 0000000..c58dbc4 --- /dev/null +++ b/PLATFORM_IDs.md @@ -0,0 +1,82 @@ +### PLATFORM ID LIST + +Platform ID list for GOG Galaxy 2.0 Integrations + +| ID | Name | +| --- | --- | +| steam | Steam | +| psn | PlayStation Network | +| xboxone | Xbox Live | +| generic | Manually added games | +| origin | Origin | +| uplay | Uplay | +| battlenet | Battle.net | +| epic | Epic Games Store | +| bethesda | Bethesda.net | +| paradox | Paradox Plaza | +| humble | Humble Bundle | +| kartridge | Kartridge | +| itch | Itch.io | +| nswitch | Nintendo Switch | +| nwiiu | Nintendo Wii U | +| nwii | Nintendo Wii | +| ncube | Nintendo Game Cube | +| riot | Riot | +| wargaming | Wargaming | +| ngameboy | Nintendo Game Boy | +| atari | Atari | +| amiga | Amiga | +| snes | SNES | +| beamdog | Beamdog | +| d2d | Direct2Drive | +| discord | Discord | +| dotemu | DotEmu | +| gamehouse | GameHouse | +| gmg | Green Man Gaming | +| weplay | WePlay | +| zx | Zx Spectrum PC | +| vision | ColecoVision | +| nes | NES | +| sms | Sega Master System | +| c64 | Commodore 64 | +| pce | PC Engine | +| segag | Sega Genesis | +| neo | NeoGeo | +| sega32 | Sega 32X | +| segacd | Sega CD | +| 3do | 3DO Interactive | +| saturn | SegaSaturn | +| psx | Sony PlayStation | +| ps2 | Sony PlayStation 2 | +| n64 | Nintendo64 | +| jaguar | Atari Jaguar | +| dc | Sega Dreamcast | +| xboxog | Original Xbox games | +| amazon | Amazon | +| gg | GamersGate | +| egg | Newegg | +| bb | BestBuy | +| gameuk | Game UK | +| fanatical | Fanatical store | +| playasia | PlayAsia | +| stadia | Google Stadia | +| arc | ARC | +| eso | ESO | +| glyph | Trion World | +| aionl | Aion: Legions of War | +| aion | Aion | +| blade | Blade and Soul | +| gw | Guild Wars | +| gw2 | Guild Wars 2 | +| lin2 | Lineage 2 | +| ffxi | Final Fantasy XI | +| ffxiv | Final Fantasy XIV | +| totalwar | TotalWar | +| winstore | Windows Store | +| elites | Elite Dangerous | +| star | Star Citizen | +| psp | Playstation Portable | +| psvita | Playstation Vita | +| nds | Nintendo DS | +| 3ds | Nintendo 3DS | + diff --git a/README.md b/README.md index fcd0775..4330b1f 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,12 @@ The provided features are: - receiving and sending chat messages - cache storage +## Platform Id's + +Each integration can implement only one platform. Each integration must declare which platform it's integrating. + +[List of possible Platofrm IDs](PLATFORM_IDs.md) + ## Basic usage Eeach integration should inherit from the :class:`~galaxy.api.plugin.Plugin` class. Supported methods like :meth:`~galaxy.api.plugin.Plugin.get_owned_games` should be overwritten - they are called from the GOG Galaxy client in the appropriate times. @@ -58,7 +64,8 @@ if __name__ == "__main__": The client has a built-in Python 3.7 interpreter, so the integrations are delivered as python modules. In order to be found by GOG Galaxy 2.0 an integration folder should be placed in [lookup directory](#deploy-location). Beside all the python files, the integration folder has to contain [manifest.json](#deploy-manifest) and all third-party dependencies. See an [examplary structure](#deploy-structure-example). -### Lookup directory: +### Lookup directory + - Windows: `%localappdata%\GOG.com\Galaxy\plugins\installed` @@ -67,7 +74,8 @@ In order to be found by GOG Galaxy 2.0 an integration folder should be placed in `~/Library/Application Support/GOG.com/Galaxy/plugins/installed` -### Manifest +### Manifest + Obligatory JSON file to be placed in a integration folder. ```json diff --git a/docs/source/index.rst b/docs/source/index.rst index 05f97f7..4455599 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -7,6 +7,7 @@ GOG Galaxy Integrations Python API Overview API + Platform ID's Index ------------------- diff --git a/docs/source/overview.rst b/docs/source/overview.rst index cb8accb..ea506a8 100644 --- a/docs/source/overview.rst +++ b/docs/source/overview.rst @@ -5,3 +5,11 @@ .. mdinclude:: ../../README.md :start-line: 6 + :end-line: 26 + +.. excluding Platforms Id's link + +:ref:`platforms-link`. + +.. mdinclude:: ../../README.md + :start-line: 28 diff --git a/setup.py b/setup.py index f75584e..6416391 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages setup( name="galaxy.plugin.api", - version="0.34", + version="0.35.1", description="GOG Galaxy Integrations Python API", author='Galaxy team', author_email='galaxy@gog.com', diff --git a/src/galaxy/api/plugin.py b/src/galaxy/api/plugin.py index 0b7f2a2..b876c57 100644 --- a/src/galaxy/api/plugin.py +++ b/src/galaxy/api/plugin.py @@ -57,7 +57,12 @@ class Plugin: # internal self._register_method("shutdown", self._shutdown, internal=True) self._register_method("get_capabilities", self._get_capabilities, internal=True) - self._register_method("initialize_cache", self._initialize_cache, internal=True) + self._register_method( + "initialize_cache", + self._initialize_cache, + internal=True, + sensitive_params="data" + ) self._register_method("ping", self._ping, internal=True) # implemented by developer @@ -466,7 +471,8 @@ class Plugin: """ self._notification_client.notify( "push_cache", - params={"data": self._persistent_cache} + params={"data": self._persistent_cache}, + sensitive_params="data" ) # handlers