def test_pickleshare(tmpdir): db = PickleShareDB(tmpdir) db.clear() print("Should be empty:", db.items()) assert len(db) == 0 db['hello'] = 15 assert db['hello'] == 15 db['aku ankka'] = [1, 2, 313] assert db['aku ankka'] == [1, 2, 313] db['paths/nest/ok/keyname'] = [1, (5, 46)] assert db['paths/nest/ok/keyname'] == [1, (5, 46)] db.hset('hash', 'aku', 12) db.hset('hash', 'ankka', 313) assert db.hget('hash', 'aku') == 12 assert db.hget('hash', 'ankka') == 313 print("all hashed", db.hdict('hash')) print(db.keys()) print(db.keys('paths/nest/ok/k*')) print(dict(db)) # snapsot of whole db db.uncache() # frees memory, causes re-reads later # shorthand for accessing deeply nested files lnk = db.getlink('myobjects/test') lnk.foo = 2 lnk.bar = lnk.foo + 5 assert lnk.bar == 7
def test_pickleshare(tmpdir): db = PickleShareDB(tmpdir) db.clear() print("Should be empty:",db.items()) assert len(db) == 0 db['hello'] = 15 assert db['hello'] == 15 db['aku ankka'] = [1,2,313] assert db['aku ankka'] == [1,2,313] db['paths/nest/ok/keyname'] = [1,(5,46)] assert db['paths/nest/ok/keyname'] == [1,(5,46)] db.hset('hash', 'aku', 12) db.hset('hash', 'ankka', 313) assert db.hget('hash', 'aku') == 12 assert db.hget('hash', 'ankka') == 313 print("all hashed",db.hdict('hash')) print(db.keys()) print(db.keys('paths/nest/ok/k*')) print(dict(db)) # snapsot of whole db db.uncache() # frees memory, causes re-reads later # shorthand for accessing deeply nested files lnk = db.getlink('myobjects/test') lnk.foo = 2 lnk.bar = lnk.foo + 5 assert lnk.bar == 7
from flask import Flask, render_template, send_from_directory, Response, request, url_for, redirect, session, make_response from pickleshare import PickleShareDB from os import urandom db = PickleShareDB('./pickleDatabase') db.clear() app = Flask(__name__) app.secret_key = urandom(16) @app.route('/') @app.route('/health') def health(): return 'The server is healthy' @app.route('/static/<path:subpath>', methods=['GET']) def send_static_content(subpath): return send_from_directory('static', subpath, mimetype='*') @app.route('/app', methods=['GET']) def serve_app(): logged = 'username' in session username = session['username'] if logged else '' return render_app(logged=logged, user_name=username) @app.route('/<path:path>')