summaryrefslogtreecommitdiff
path: root/scripts/db_access/server_side_db.py
diff options
context:
space:
mode:
authorTomás Touceda <chiiph@leap.se>2014-03-12 16:26:23 -0300
committerTomás Touceda <chiiph@leap.se>2014-03-12 16:26:23 -0300
commit9c0020132980ed3608f3d662f2a0df43d44dc042 (patch)
treee6047243db5a1630d16849b0449994d0930091c5 /scripts/db_access/server_side_db.py
parenta8d002714e4ce2ff487785357cc01d082ffad537 (diff)
parent3337f48c810df45aac7d3009b49b4b2a34ef019d (diff)
Merge remote-tracking branch 'refs/remotes/drebs/feature/add-scripts' into develop
Diffstat (limited to 'scripts/db_access/server_side_db.py')
-rw-r--r--scripts/db_access/server_side_db.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/scripts/db_access/server_side_db.py b/scripts/db_access/server_side_db.py
new file mode 100644
index 00000000..18641a0f
--- /dev/null
+++ b/scripts/db_access/server_side_db.py
@@ -0,0 +1,42 @@
+#!/usr/bin/python
+
+# This script gives server-side access to one Soledad user database by using
+# the configuration stored in /etc/leap/soledad-server.conf.
+#
+# Use it like this:
+#
+# python -i server-side-db.py <uuid>
+
+import sys
+from ConfigParser import ConfigParser
+
+from leap.soledad.common.couch import CouchDatabase
+
+if len(sys.argv) != 2:
+ print 'Usage: %s <uuid>' % sys.argv[0]
+ exit(1)
+
+uuid = sys.argv[1]
+
+# get couch url
+cp = ConfigParser()
+cp.read('/etc/leap/soledad-server.conf')
+url = cp.get('soledad-server', 'couch_url')
+
+# access user db
+dbname = 'user-%s' % uuid
+db = CouchDatabase(url, dbname)
+
+# get replica info
+replica_uid = db._replica_uid
+gen, docs = db.get_all_docs()
+print "dbname: %s" % dbname
+print "replica_uid: %s" % replica_uid
+print "generation: %d" % gen
+
+# get relevant docs
+schemes = map(lambda d: d.content['_enc_scheme'], docs)
+pubenc = filter(lambda d: d.content['_enc_scheme'] == 'pubkey', docs)
+
+print "total number of docs: %d" % len(docs)
+print "pubkey encrypted docs: %d" % len(pubenc)