Use mapping protocol access instead of legacy configparser API

This commit is contained in:
flan 2017-11-06 19:33:27 +01:00
parent 354354ca72
commit 59f28faa1e
3 changed files with 16 additions and 17 deletions

View File

@ -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))

View File

@ -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)

View File

@ -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')