def initialize_tinydb(dbfile): """ """ serialization = SerializationMiddleware() serialization.register_serializer(PendulumDateTimeSerializer(), 'T') # Time serialization.register_serializer(PendulumDateSerializer(), 'D') # Date serialization.register_serializer(PendulumDurationSerializer(), 'I') # Interval serialization.register_serializer(PendulumWeekdaySerializer(), 'W') # Wkday serialization.register_serializer(MaskSerializer(), 'M') # Mask if tinydb_version >= '4.0.0': db = TinyDB(dbfile, storage=serialization, indent=1, ensure_ascii=False) db.default_table_name = 'items' else: db = TinyDB(dbfile, storage=serialization, default_table='items', indent=1, ensure_ascii=False) return db
def connect( db_host: str, collection_name: Optional[str] = None, **kwargs ): """Connect to DB. Args: db_host (str): database host collection_name (str): collection name Returns: (any): connection """ if collection_name is None: collection_name = DEFAULT_COLLECTION_NAME if tinydb_version.startswith('4'): db = TinyDB(db_host) db.default_table_name = collection_name elif tinydb_version.startswith('3'): db = TinyDB(db_host, default_table=collection_name) else: raise RuntimeError('TinyDB version < 3, >4 is not supported') return db
def init_store(self): if self.memory_storage is True: return TinyDB(storage=MemoryStorage) if self.dbfile: dbfile = self.dbfile elif os.getenv("PAN_CREDENTIALS_DBFILE"): dbfile = os.getenv("PAN_CREDENTIALS_DBFILE") else: dbfile = os.path.join( os.path.expanduser("~"), ".config", "pan_cortex_data_lake", "credentials.json", ) if not os.path.exists(os.path.dirname(dbfile)): try: os.makedirs(os.path.dirname(dbfile), 0o700) except OSError as e: raise CortexError("{}".format(e)) if __version__ >= "4.0.0": db = TinyDB(dbfile, sort_keys=True, indent=4) db.default_table_name = "profiles" else: db = TinyDB(dbfile, sort_keys=True, default_table="profiles", indent=4) return db
def get_mocks_db(self): """ :return: """ localdb = Path(os.environ.get("DYNOMOCK_MOCKDIR", "default.json")).resolve() mock_db = TinyDB(localdb) mock_db.default_table_name = self.table_name mock_db.default_storage_class(localdb, encoding="utf-8") return mock_db
DOMAINS_DIRECTORY = 'domains' # contains unzipped files of webiste os.makedirs(UPLOAD_DIRECTORY, exist_ok=True) os.makedirs(DOMAINS_DIRECTORY, exist_ok=True) ################################ FLASK ################################ app = Flask(__name__) ################################ DB ################################ # schema: # { "domain": "token", ... } try: db = TinyDB('db.json') db.default_table_name = 'domains' except: print("db.json error") sys.exit(1) ################################ AUXILIARY ################################ ################ Database ################ def get_domain(domain): Domain = Query() try: d = db.search( Domain.domain == domain)[0] # it's list so get only first element except:
from tinydb import TinyDB, where import os db = TinyDB(os.getenv('DB_PATH', default='db.json')) db.default_table_name = os.getenv('DB_TABLE', default='hotels') def db_full(): return len(db) > 0 def find_hotels(): return db.all() def find_hotel(hotel_id): return db.get(where('id') == int(hotel_id)) def create_hotel(hotel): return db.insert(hotel) def update_hotel(hotel_id, new_hotel): return db.update(new_hotel, where('id') == int(hotel_id)) def delete_hotel(hotel_id): return db.remove(where('id') == int(hotel_id))