From 59f28faa1efc3a62d1bcfd5f6b41dff8c61c583b Mon Sep 17 00:00:00 2001 From: flan Date: Mon, 6 Nov 2017 19:33:27 +0100 Subject: [PATCH] Use mapping protocol access instead of legacy configparser API --- ankisyncd/sync_app.py | 21 +++++++++++---------- tests/helpers/server_utils.py | 10 ++++------ tests/sync_app_functional_test_base.py | 2 +- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/ankisyncd/sync_app.py b/ankisyncd/sync_app.py index 944d198..2546b78 100644 --- a/ankisyncd/sync_app.py +++ b/ankisyncd/sync_app.py @@ -330,21 +330,21 @@ class SyncApp: def __init__(self, config): from ankisyncd.thread import getCollectionManager - self.data_root = os.path.abspath(config.get("sync_app", "data_root")) - self.base_url = config.get("sync_app", "base_url") - self.base_media_url = config.get("sync_app", "base_media_url") + self.data_root = os.path.abspath(config['data_root']) + self.base_url = config['base_url'] + self.base_media_url = config['base_media_url'] self.setup_new_collection = None self.prehooks = {} self.posthooks = {} - if config.has_option("sync_app", "session_db_path"): - self.session_manager = SqliteSessionManager(config.get("sync_app", "session_db_path")) + if "session_db_path" in config: + self.session_manager = SqliteSessionManager(config['session_db_path']) else: self.session_manager = SimpleSessionManager() - if config.has_option("sync_app", "auth_db_path"): - self.user_manager = SqliteUserManager(config.get("sync_app", "auth_db_path")) + if "auth_db_path" in config: + self.user_manager = SqliteUserManager(config['auth_db_path']) else: logging.warn("auth_db_path not set, ankisyncd will accept any password") self.user_manager = SimpleUserManager() @@ -688,11 +688,12 @@ def main(): from ankisyncd.thread import shutdown logging.basicConfig(level=logging.INFO) - config = ConfigParser() - config.read("ankisyncd.conf") + parser = ConfigParser() + parser.read("ankisyncd.conf") + config = parser['sync_app'] ankiserver = SyncApp(config) - httpd = make_server(config.get("sync_app", "host"), config.getint("sync_app", "port"), ankiserver) + httpd = make_server(config['host'], int(config['port']), ankiserver) try: print("Serving HTTP on {} port {}...".format(*httpd.server_address)) diff --git a/tests/helpers/server_utils.py b/tests/helpers/server_utils.py index 7943126..33c1772 100644 --- a/tests/helpers/server_utils.py +++ b/tests/helpers/server_utils.py @@ -16,8 +16,8 @@ def create_server_paths(): os.mkdir(os.path.join(dir, "data")) return { - "auth_db": os.path.join(dir, "auth.db"), - "session_db": os.path.join(dir, "session.db"), + "auth_db_path": os.path.join(dir, "auth.db"), + "session_db_path": os.path.join(dir, "session.db"), "data_root": os.path.join(dir, "data"), } @@ -26,11 +26,9 @@ def create_sync_app(server_paths, config_path): config.read(config_path) # Use custom files and dirs in settings. - config.set("sync_app", "auth_db_path", server_paths["auth_db"]) - config.set("sync_app", "session_db_path", server_paths["session_db"]) - config.set("sync_app", "data_root", server_paths["data_root"]) + config['sync_app'].update(server_paths) - return SyncApp(config) + return SyncApp(config['sync_app']) def get_session_for_hkey(server, hkey): return server.session_manager.load(hkey) diff --git a/tests/sync_app_functional_test_base.py b/tests/sync_app_functional_test_base.py index a985d2e..b4c589c 100644 --- a/tests/sync_app_functional_test_base.py +++ b/tests/sync_app_functional_test_base.py @@ -28,7 +28,7 @@ class SyncAppFunctionalTestBase(unittest.TestCase): self.server_paths = helpers.server_utils.create_server_paths() # Add a test user to the temp auth db the server will use. - self.user_manager = SqliteUserManager(self.server_paths['auth_db'], + self.user_manager = SqliteUserManager(self.server_paths['auth_db_path'], self.server_paths['data_root']) self.user_manager.add_user('testuser', 'testpassword')