diff options
author | Kali Kaneko <kali@leap.se> | 2017-06-26 16:48:40 +0200 |
---|---|---|
committer | Kali Kaneko <kali@leap.se> | 2017-06-26 16:48:40 +0200 |
commit | a653032662c990c662bf6706b0784bce1c553cbd (patch) | |
tree | bd126e8d3614f6a29f055c89e0546108b4aefc1f /docs/client_examples/use_api.py | |
parent | 80699961145de3941c645ab3d8f3a4f9c2775ef3 (diff) |
[pkg] move examples folder to docs/
Diffstat (limited to 'docs/client_examples/use_api.py')
-rw-r--r-- | docs/client_examples/use_api.py | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/docs/client_examples/use_api.py b/docs/client_examples/use_api.py new file mode 100644 index 00000000..db77c4b3 --- /dev/null +++ b/docs/client_examples/use_api.py @@ -0,0 +1,69 @@ +# -*- coding: utf-8 -*- +# use_api.py +# Copyright (C) 2014 LEAP +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +""" +Example of use of the soledad api. +""" +from __future__ import print_function +import datetime +import os + +from leap.soledad.client import sqlcipher +from leap.soledad.client.sqlcipher import SQLCipherOptions + + +folder = os.environ.get("TMPDIR", "tmp") +times = int(os.environ.get("TIMES", "1000")) +silent = os.environ.get("SILENT", False) + +tmpdb = os.path.join(folder, "test.soledad") + + +def debug(*args): + if not silent: + print(*args) + + +debug("[+] db path:", tmpdb) +debug("[+] times", times) + +if os.path.isfile(tmpdb): + debug("[+] Removing existing db file...") + os.remove(tmpdb) + +start_time = datetime.datetime.now() + +opts = SQLCipherOptions(tmpdb, "secret", create=True) +db = sqlcipher.SQLCipherDatabase(opts) + + +def allDone(): + debug("ALL DONE!") + + +payload = open('manifest.phk').read() + +for i in range(times): + doc = {"number": i, "payload": payload} + d = db.create_doc(doc) + debug(d.doc_id, d.content['number']) + +debug("Count", len(db.get_all_docs()[1])) +if silent: + end_time = datetime.datetime.now() + print((end_time - start_time).total_seconds()) + +allDone() |