Esempio n. 1
0
def users_db_creation():
    db = SQL(db_path)
    spreadsheet = gspread.service_account('google.json').open('UNITED USERS')
    users = spreadsheet.worksheet(os.environ['folder']).get(
        'A1:Z50000', major_dimension='ROWS')
    raw_columns = db.create_table('users', users.pop(0), additional=True)
    users_ids, columns = db.upload('users', raw_columns, users)
    _zero_user = db.get_user(0)
    db.close()
    return _zero_user, ['id', *users_ids], columns
Esempio n. 2
0
def images_db_creation():
    _names = []
    _frames = []
    raw_frames = []
    folder_id = None
    db = SQL(db_path)
    client = Drive('google.json')

    db.create_table(
        'images', ['id <TEXT>', 'name', 'frame', 'path', 'last_update <DATE>'])
    allowed = os.environ['allowed'].split('/') if os.environ.get(
        'allowed') else []

    for folder in client.files(only_folders=True):
        if folder['name'] == os.environ.get('folder'):
            folder_id = folder['id']

    for file in client.files(parents=folder_id):
        name = re.sub(r'\.jpg', '', file['name'])
        if name in allowed or len(allowed) == 0:
            frame = int(re.sub('[^0-9]', '', name))
            name = re.sub('[^A-Z]', '', name)
            path = f"images/{file['name']}"
            db.create_image({
                'name': name,
                'path': path,
                'frame': frame,
                'id': file['id'],
                'last_update': file['modifiedTime']
            })
            _names.append(name) if name not in _names else None
            raw_frames.append(frame) if frame not in raw_frames else None
            client.download_file(file['id'], path)
    for frame in sorted(raw_frames):
        text = '5 мин' if frame == 5 else '1 час'
        _frames.append((frame, text))
    db.close()
    return sorted(_names), _frames, client, folder_id