Example #1
0
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
Example #2
0
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
Example #4
0
    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
Example #5
0
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:
Example #6
0
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))