From 383bc7a0eb05b3b52e4f21856652c2b04c11cbb5 Mon Sep 17 00:00:00 2001 From: Tim Van Baak Date: Thu, 16 Jan 2020 11:20:22 -0800 Subject: [PATCH] Fix resource access --- amanuensis/cli/server.py | 5 +++-- amanuensis/config/init.py | 4 ++-- amanuensis/resources/__init__.py | 5 +++++ 3 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 amanuensis/resources/__init__.py diff --git a/amanuensis/cli/server.py b/amanuensis/cli/server.py index ee1043a..ec77c2c 100644 --- a/amanuensis/cli/server.py +++ b/amanuensis/cli/server.py @@ -15,7 +15,8 @@ def command_init(args): import fcntl import json import os - import pkg_resources + + import resources cfd = args.config_dir # Create the directory if it doesn't exist. @@ -27,7 +28,7 @@ def command_init(args): return -1 # Update or create global config. - def_cfg = pkg_resources.resource_stream(__name__, "resources/default_config.json") + def_cfg = resources.get_stream("global.json") if args.update and os.path.isfile(os.path.join(cfd, "config.json")): with open(os.path.join(cfd, "config.json"), 'r+', encoding='utf8') as cfg_file: fcntl.lockf(cfg_file, fcntl.LOCK_EX) diff --git a/amanuensis/config/init.py b/amanuensis/config/init.py index be9669d..83fcf4f 100644 --- a/amanuensis/config/init.py +++ b/amanuensis/config/init.py @@ -3,11 +3,11 @@ import copy import json import logging.config import os -import pkg_resources # Module imports from errors import MissingConfigError, MalformedConfigError from config.loader import json_ro +import resources def verify_config_dir(config_dir): @@ -23,7 +23,7 @@ def verify_config_dir(config_dir): if not os.path.isfile(global_config_path): raise MissingConfigError("Config directory missing global config file: {}".format(config_dir)) # Check that global config file has all the default settings - def_cfg_s = pkg_resources.resource_stream("__main__", "resources/default_config.json") + def_cfg_s = resources.get_stream("global.json") def_cfg = json.load(def_cfg_s) with json_ro(global_config_path) as global_config_file: for key in def_cfg.keys(): diff --git a/amanuensis/resources/__init__.py b/amanuensis/resources/__init__.py new file mode 100644 index 0000000..737d67a --- /dev/null +++ b/amanuensis/resources/__init__.py @@ -0,0 +1,5 @@ +import pkg_resources + +def get_stream(*path): + rs_path = "/".join(path) + return pkg_resources.resource_stream(__name__, rs_path) \ No newline at end of file