Exemple #1
0
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
Exemple #3
0
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>')