Skip to content

MilanOfc/space_pics

Repository files navigation

space_pics

Программа скачивает фотографии космоса из трех источников, SpaceX, NASA "The Earth Polychromatic Imaging Camera" и NASA "A Picture Of The Day". В автоматическом режиме выкладывает их на телеграмм канал, с заданный промежутком времени. Через аргументы можно выбрать какое изображение загружать, изменять промежуток времени, выбирать сколько и каких изображений скачивать, подробнее в разделе "Run(Запуск)".

Environment(Окружение)

Requirements(Зависимости)

Python 3 должен быть уже установлен, с помощью pip устанавливаем зависимости.

python -m pip install -r requirements.txt

Environment variables(Переменные окружения)

Использует переменную окружения TIME, которая указывает на промежуток между размещением картинок. Измеряется в секундах, в случае отсутствия переменной и если не указать её явно, промежуток будет 4 часа.

How to get(Как получить)

Для работы программы необходимо получить токен NASA, токен бота телеграм и создать канал в телеграме. Токены и id канала указываются в файле .env, формат ChatID - @identificator.

echo NASA_TOKEN='%Ваш_Токен%' >> .env
echo TELEGRAM_BOT='%Ваш_Токен%' >> .env
echo CHAT_ID='%Ваш_Chat_ID%' >> .env

Run(Запуск)

Каждый скрипт (кроме downloader.py) можно запустить отдельно, основной скрипт для скачивания - download_all.py, для отправки в телеграмм - teleg_bot.py.

download_all.py

Скачивает фотографии из трех источников в папку ./pictures и создает её при необходимости. img

fetch_epic_images.py

Скачивает NASA "The Earth Polychromatic Imaging Camera" в папку ./pictures и создает её при необходимости, через флаг -d возможно указать интересующую дату, по умолчанию скачивает фотографии сегодняшнего дня.

img_1

fetch_apod_images.py

Скачивает NASA "A Picture Of The Day" в папку ./pictures и создает её при необходимости, через флаг -c возможно указать количество фотографий, по умолчанию скачивает 10.

img_2

fetch_spacex_images.py

Скачивает фотографии с запуска SpaceX в папку ./pictures и создает её при необходимости, через флаг -id возможно указать идентификатор полета, по умолчанию скачивает фотографии с последнего запуска.

img_3

teleg_bot.py

Запускает бота, который выкладывает скачанные фотографии в заданный канал.

В качестве аргумента можно указать имя файла, тогда будет отправлен только он. В случае отсутствия имени запуститься бесконечный цикл который будет выкладывать все фотографии из папки ./pictures с заданным промежутком, когда все фотографии будут выложены один раз, они снова перемешаются и процесс повторится.

Через флаг -t указывается задержка между постами, так же её можно указать через переменную окружения TIME, по умолчанию задержка 4 часа. Указывается в секундах.

img_4

downloader.py

Вспомогательный файл, содержит функции для скачивания изображений.

About

4th lesson from devman

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages