示例#1
0
def test_flata_external_cache_json_storage():
    _cache = CachingMiddleware(JSONStorage)('db.json')
    with Flata('db.json', cache=_cache) as db:
        assert isinstance(db._storage, (CachingMiddleware, JSONStorage))
        db.close()
示例#2
0
 def setup(table_name: str, id_field: str):
     """Creates the specified table if not yet exists in the db.json and returns its reference either way"""
     db = Flata('db.json', storage=JSONStorage)
     db.table(table_name, id_field=id_field)
     return db.get(table_name)
示例#3
0
def test_flata_json_storage():
    with Flata('db.json', storage=JSONStorage) as db:
        assert isinstance(db._storage, JSONStorage)
        db.close()
示例#4
0
def test_flata_caching_json_storage():
    with Flata('db.json', storage=CachingMiddleware(JSONStorage)) as db:
        assert isinstance(db._storage, (CachingMiddleware, JSONStorage))
        db.close()
import os
from flata import Flata, Query
from flata.storages import JSONStorage
from flask import Flask, request, render_template, url_for, redirect
from random import choice, randint
from string import ascii_letters

app_storage_file = os.getenv('APP_STORAGE_FILE', '/tmp/db.json')
app_tiny_baseurl = os.getenv('APP_BASEURL', 'localhost:5000/t')
app_protocol = os.getenv('APP_PROTOCOL', 'https')
app_name = os.getenv('APP_NAME', 'My')
body_text = app_name + ' URL Shortener'

db_init = Flata(app_storage_file, storage=JSONStorage)
db_init.table('collection1', id_field = 'counter_id')
db = db_init.get('collection1')
q = Query()

tiny_appurl = app_protocol + '://' + app_tiny_baseurl + '/t'

def generate_tiny():
    tiny_key = ''.join(choice(ascii_letters) + str(randint(0,9)) for x in range(randint(8, 8))).lower()
    return tiny_key

def put_url(destination_url):
    tiny_id = generate_tiny()
    tiny_url = '{}/{}'.format(tiny_appurl, tiny_id)
    db.insert({'id': tiny_id, 'name': tiny_url, 'value': destination_url})
    return tiny_url

def get_url(tiny_url):
示例#6
0
def test_flata_external_cache_memory_storage():
    _cache = CachingMiddleware(MemoryStorage)()
    with Flata('db.json', cache=_cache) as db:
        assert isinstance(db._storage, (CachingMiddleware, MemoryStorage))
        db.close()
示例#7
0
def db():
    db_ = Flata(storage=MemoryStorage)
    db_.purge_tables()
    db_.table('t').insert_multiple({'int': 1, 'char': c} for c in 'abc')
    return db_
示例#8
0
def test_caching_read():
    db = Flata(storage=CachingMiddleware(MemoryStorage))
    assert not db.all()
示例#9
0
def test_json_invalid_directory():
    with pytest.raises(IOError):
        with Flata('/this/is/an/invalid/path/db.json', storage=JSONStorage):
            pass
示例#10
0
def test_in_memory_close():
    with Flata('', storage=MemoryStorage) as db:
        db.table('t').insert({})
示例#11
0
## Made by Samuel Pratt
## Victoria, BC, Canada

import os
import json
from flask_cors import CORS
from flask import Flask, jsonify, render_template
from flata import Flata, where
from flata.storages import JSONStorage
from apscheduler.scheduler import Scheduler
from scraper import get_data

# Initialize db
db = Flata('./db.json', storage=JSONStorage)
db.table('table1')
db.get('table1')

app = Flask(__name__)
CORS(app)

# Scheduler object
sched = Scheduler(daemon=True)
sched.start()

# Valid departure terminals
departure_terminals = [
    "tsawwassen", "swartz-bay", "nanaimo-(duke-pt)", "nanaimo-(dep.bay)",
    "horseshoe-bay", "langdale"
]

# Valid destination terminals
示例#12
0
def readJson(path_db):
    db = Flata(path_db, storage=JSONStorage)
    dic = db.all()
    return dic
示例#13
0
def readFromJson(path_db, table_name):
    tb = Flata(path_db, storage=JSONStorage).table(table_name).all()[0]
    return tb
示例#14
0
Small document databases
https://tinydb.readthedocs.io/en/latest/
https://github.com/harryho/flata
https://blog.ruanbekker.com/blog/2018/04/15/experimenting-with-python-and-flata-the-lightweight-document-orientated-database/
"""

metadata_file = 'metadata.json'
data_file = 'public/data.js'
database_file = 'database.json'
DATETIME_FORMAT = '%Y.%m.%dT%H:%M:%S%z'

# FlataDB
from flata import Flata, Query, where
from flata.storages import JSONStorage

db = Flata(database_file, storage=JSONStorage)
q = Query()

# Init
metadata_uid = 1
metadataTable = db.table('metadata', id_field='uid')
recordsTable = db.table('records', id_field='uid')


def get_db():
    return db


# So we don't need to write strings
category = 'category'
sub_category = 'sub_category'
示例#15
0
def test_flata_memory_storage():
    with Flata('db.json', storage=MemoryStorage) as db:
        assert isinstance(db._storage, MemoryStorage)
        db.close()
示例#16
0
import platform
from flata import Flata, where, Query
from flata.storages import JSONStorage
import json
import threading
import time

t = None

logger = logging.getLogger('discord')
logger.setLevel(logging.DEBUG)
handler = logging.FileHandler(filename='discord.log', encoding='utf-8', mode='w')
handler.setFormatter(logging.Formatter('%(asctime)s:%(levelname)s:%(name)s: %(message)s'))
logger.addHandler(handler)

db = Flata('db.json', storage=JSONStorage)
db.table('stats')
tb = db.get('stats')
# Start if script

client = Bot(description="Discord BOT that collects info about people being in voice channel", command_prefix="$", pm_help = False)

@client.event
async def on_ready():
	print('Logged in as '+client.user.name+' (ID:'+client.user.id+') | Connected to '+str(len(client.servers))+' servers | Connected to '+str(len(set(client.get_all_members())))+' users')
	print('--------')
	print('Current Discord.py Version: {} | Current Python Version: {}'.format(discord.__version__, platform.python_version()))
	print('--------')
	print('Use this link to invite {}:'.format(client.user.name))
	print('https://discordapp.com/oauth2/authorize?client_id={}&scope=bot&permissions=8'.format(client.user.id))
	print('--------')
示例#17
0
def test_flata_caching_memory_storage():
    with Flata('db.json', storage=CachingMiddleware(MemoryStorage)) as db:
        assert isinstance(db._storage, (CachingMiddleware, MemoryStorage))
        db.close()
示例#18
0
def test_multiple_dbs():
    db1 = Flata(storage=MemoryStorage)
    db2 = Flata(storage=MemoryStorage)

    db1.table('t').insert({'int': 1, 'char': 'a'})
    db1.table('t').insert({'int': 1, 'char': 'b'})
    db1.table('t').insert({'int': 1, 'value': 5.0})

    db2.table('t').insert({'color': 'blue', 'animal': 'turtle'})

    assert len(db1.table('t').all()) == 3
    assert len(db2.table('t').all()) == 1
示例#19
0
#!/usr/bin/env pipenv run python

import sys
from pyfancy.pyfancy import pyfancy
from flata import Flata, where
from flata.storages import JSONStorage

db = Flata('db.json', storage=JSONStorage)
db.table('todos')

args = sys.argv


# usage represents the help guide
def usage():
    usageText = """
  todo helps you manage your todo tasks

  usage:
    todo <command>

  commands can be:

  new:      used to create a new todo
  get:      used to retrieve your todos
  complete: used to mark a todo as complete
  help:     used to print the usage guide
  """

    print(usageText)