diff options
author | Victor Shyba <victor1984@riseup.net> | 2017-11-22 19:38:13 -0300 |
---|---|---|
committer | Victor Shyba <victor1984@riseup.net> | 2017-11-22 19:38:13 -0300 |
commit | 54491b798ffd1c8e619c8cb94a8069f6f312dd95 (patch) | |
tree | 8245ab0ef67696f4c2b9acba9e4a0b3f88d2f01b /src | |
parent | 453d3c6cfe81c8d3ca401dd1f5558aeae523350c (diff) |
[refactor] extract list dbs method
Diffstat (limited to 'src')
-rw-r--r-- | src/leap/soledad/common/couch/check.py | 19 |
1 files changed, 12 insertions, 7 deletions
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 |