summaryrefslogtreecommitdiff
path: root/swiftstory/cards.py
diff options
context:
space:
mode:
authorOlivier Gayot <olivier.gayot@sigexec.com>2021-12-26 17:11:37 +0100
committerOlivier Gayot <olivier.gayot@sigexec.com>2021-12-26 18:28:21 +0100
commitd592880c4bc4c581d8847d96ff73bc319ca1fac2 (patch)
treeac4996aa4d81ef55e68b209d4c541c206f1efe61 /swiftstory/cards.py
parent794292740c30bfea48dc23eb62fb6aa531bfdca7 (diff)
Make cards be part of the Python package data
We now load the cards using pkg_resources. This is way better in many aspects: * we can install the package using pip without having issues loading cards * we don't need to chdir to / before running swiftstoryd * we don't need to rely on data_files which is deprecated. Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
Diffstat (limited to 'swiftstory/cards.py')
-rw-r--r--swiftstory/cards.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/swiftstory/cards.py b/swiftstory/cards.py
index d570f87..62f1e37 100644
--- a/swiftstory/cards.py
+++ b/swiftstory/cards.py
@@ -1,16 +1,18 @@
import json
+import os
+
+import pkg_resources
class Cards:
@staticmethod
def get_white_cards(lang):
''' Read the file containing the white cards and return a list of cards '''
- with open(f'usr/share/swiftstory/lang/{lang}/cards/white.json', encoding='utf-8') as fh:
- return json.load(fh)
+ fh = pkg_resources.resource_stream(__name__, os.path.join("data/lang", lang, "cards/white.json"))
+ return json.load(fh)
@staticmethod
def get_black_cards(lang):
''' Read the file containing the black cards and return a list of cards '''
-
- with open(f'usr/share/swiftstory/lang/{lang}/cards/black.json', encoding='utf-8') as fh:
- return json.load(fh)
+ fh = pkg_resources.resource_stream(__name__, os.path.join("data/lang", lang, "cards/black.json"))
+ return json.load(fh)