diff options
Diffstat (limited to 'soledad_sync.py')
-rw-r--r-- | soledad_sync.py | 50 |
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 |