Я пытаюсь написать некоторый код, чтобы убедиться, что наши версии для разработки и производства синхронизированы c с контентом в облачном хранилище. Я использую Python 3.7, чтобы сделать необходимые запросы с помощью firebase_admin SDK. Я столкнулся со странной проблемой, когда он не распознает определенные папки, несмотря на то, что в этих папках есть подпапки, содержащие наши файлы, и приложение работает нормально. У меня есть этот код:
def get_blob_list(self):
blob_list = [blob.name for blob in self.bucket.list_blobs()]
return sorted(blob_list)
if __name__ == '__main__':
sa_path, sa_key, bucket = get_database_info('dev')
with FirestoreObject(sa_path, sa_key, bucket) as dev_con:
dev_blobs = set(dev_con.get_blob_list())
sa_path, sa_key, bucket = get_database_info('prod')
with FirestoreObject(sa_path, sa_key, bucket) as prod_con:
prod_blobs = set(prod_con.get_blob_list())
dev_not_prod = sorted(list(dev_blobs - prod_blobs))
prod_not_dev = sorted(list(prod_blobs - dev_blobs))
print('Blobs in dev but not prod:')
for blob in dev_not_prod:
print(blob)
prod_sub_dirs = sorted([blob for blob in prod_blobs
if (blob.startswith('images/movement/')
or blob.startswith('images/nutrition/'))
and blob.endswith('/')])
print()
print('Prod sub folders:')
for sub_dir in prod_sub_dirs:
print(sub_dir)
Это дает следующий вывод:
Blobs in dev but not prod:
images/movement/
images/movement/exercises/
images/nutrition/
images/nutrition/recipes/
Prod sub folders:
images/movement/exercises/thumbnailImages/
images/movement/physiotherapy/
images/movement/physiotherapy/thumbnailImages/
images/nutrition/recipes/thumbnailImages/
Как он не распознает папки вверху при распознавании нижних? Интересно, кто-нибудь знает способ заставить это сделать?