From 54491b798ffd1c8e619c8cb94a8069f6f312dd95 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Wed, 22 Nov 2017 19:38:13 -0300 Subject: [refactor] extract list dbs method --- src/leap/soledad/common/couch/check.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'src/leap/soledad/common/couch') diff --git a/src/leap/soledad/common/couch/check.py b/src/leap/soledad/common/couch/check.py index 00c8ec87..6eca649c 100644 --- a/src/leap/soledad/common/couch/check.py +++ b/src/leap/soledad/common/couch/check.py @@ -98,16 +98,10 @@ def check_schema_versions(couch_url, agent=None): url = urlsplit(couch_url) auth = (url.username, url.password) if url.username else None url = "%s://%s:%d" % (url.scheme, url.hostname, url.port) - try: - res = yield treq.get(urljoin(url, '_all_dbs'), auth=auth, agent=agent) - dbs = yield res.json() - except Exception as e: - logger.error('Error trying to get list of dbs from %s: %r' - % (url, e)) - raise e deferreds = [] semaphore = defer.DeferredSemaphore(20) logger.info('Starting CouchDB schema versions check...') + dbs = yield list_dbs(url, auth, agent) for db in dbs: if not db.startswith('user-'): continue @@ -121,3 +115,14 @@ def check_schema_versions(couch_url, agent=None): msg = 'Error checking CouchDB schema versions: %r' % e logger.error(msg) raise Exception(msg) + + +@defer.inlineCallbacks +def list_dbs(url, auth, agent): + try: + res = yield treq.get(urljoin(url, '_all_dbs'), auth=auth, agent=agent) + defer.returnValue((yield res.json())) + except Exception as e: + logger.error('Error trying to get list of dbs from %s: %r' + % (url, e)) + raise e -- cgit v1.2.3