summaryrefslogtreecommitdiff
path: root/soledad_sync.py
diff options
context:
space:
mode:
Diffstat (limited to 'soledad_sync.py')
-rw-r--r--soledad_sync.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/soledad_sync.py b/soledad_sync.py
new file mode 100644
index 0000000..403433e
--- /dev/null
+++ b/soledad_sync.py
@@ -0,0 +1,50 @@
+import os
+from leap.soledad.client.api import Soledad
+from twisted.internet import defer
+
+
+UUID = 'deadbeef1'
+HOST = 'http://localhost:2323'
+NUM_DOCS = 20
+PAYLOAD = '/tmp/payload'
+
+
+def _get_soledad_instance_from_uuid(uuid, passphrase, basedir, server_url,
+ cert_file, token):
+ secrets_path = os.path.join(basedir, '%s.secret' % uuid)
+ local_db_path = os.path.join(basedir, '%s.db' % uuid)
+ return Soledad(
+ uuid,
+ unicode(passphrase),
+ secrets_path=secrets_path,
+ local_db_path=local_db_path,
+ server_url=server_url,
+ cert_file=cert_file,
+ auth_token=token,
+ defer_encryption=True,
+ syncable=True)
+
+
+def onSyncDone(result):
+ print "SYNC DONE!", result
+
+
+def upload_soledad_stuff():
+
+ with open(PAYLOAD, 'r') as f:
+ payload = f.read()
+
+ s = _get_soledad_instance_from_uuid(
+ UUID, 'pass', '/tmp/soledadsync', HOST, '', '')
+
+ def do_sync(_):
+ d = s.sync()
+ d.addCallback(onSyncDone)
+ return d
+
+ cd = []
+ for i in range(NUM_DOCS):
+ cd.append(s.create_doc({'payload': payload}))
+ d1 = defer.gatherResults(cd)
+ d1.addCallback(do_sync)
+ return d1