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
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