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  | 
