Этот репозиторий содержит скрипты для скачивания данных из репозитория на Github и загрузки их в Firebase.
Скрипт download.py
использует библиотеки PyGithub и requests для загрузки сжатого архива репозитория GitHub, извлечения его содержимого в локальную директорию и дальнейшей обработки данных.
Скрипт upload_md.py
загружает файлы Markdown из указанной директории в Firestore, облачную базу данных NoSQL от Firebase. Скрипт создает объект batch для загрузки данных в Firestore и коммитит каждую партию данных после того, как размер партии достигает 500 записей.
Скрипт upload_assets.py
загружает файлы из указанной директории в Firebase Storage. Скрипт создает ссылку на бакет по умолчанию в Firebase Storage и загружает каждый файл в указанную директорию внутри бакета.
Для запуска этих скриптов необходимы следующие библиотеки Python:
- PyGithub
- firebase-admin
Вы можете установить их с помощью следующей команды:
pip install -r requirements.txt
Для использования Firebase и GitHub вам необходимо предоставить учетные данные.
Для использования скриптов необходимо предоставить персональный токен доступа. Вы можете получить Github Personal Access Token и установить его как переменную окружения GITHUB_TOKEN
или заменить переменную github_token
в скрипте download.py
на свой персональный токен.
- Создайте проект в Firebase и загрузите файл учетных данных служебной учетной записи в формате JSON с именем
credentials.json
. - Установите путь к этому файлу в переменную
cred
в скриптахupload_md.py
иupload_assets.py
. - Установите имя вашего хранилища Firebase Storage в параметре
storageBucket
при инициализации Firebase в скриптеupload_assets.py
.
Для использования этих скриптов вам необходимо изменить код в соответствии с вашими конкретными потребностями.
- Установите переменную
github_token
на ваш персональный токен доступа для GitHub. - Установите переменные
repo_owner
,repo_name
иbranch_name
на репозиторий GitHub, который вы хотите загрузить. - Запустите скрипт с помощью следующей команды:
python download.py
- Установите путь к корневой директории загруженного репозитория в переменной
root_path
. - Установите имя целевой директории, содержащей файлы Markdown, в переменной
target_folder
. - Запустите скрипт с помощью следующей команды:
python upload_md.py
- Установите путь к корневой директории загруженного репозитория в переменной
root_path
. - Установите имя целевой директории, содержащей ресурсы, в переменной
target_folder
. - Запустите скрипт с помощью следующей команды:
python upload_assets.py
С помощью этих трех скриптов на Python вы можете легко загружать данные из репозитория GitHub и выгружать их в Firebase. Используйте это как отправную точку для создания более сложных конвейеров обработки данных или рабочих процессов автоматизации.