При релизации задания использованы внешние библиотеки Selenium, tqdm и проч. Запускной файл chromedriver.exe для работы Selenium размещён вместе с программой в репозитории. Все необходимые библиотеки указаны в requirement.txt. При развёртывании программы на новой машине рекомендуется запустить автоматическую установку библиотек из requirement.txt.
Для авторизации в ВК требуется логин и пароль пользователя. Программа не сохраняет логин и пароль пользователя. Учётные данные передаются только в сервис авторизации ВКонтакте для получения ключа доступа. Авторизация проводится при первом запуске программы, а также в случае истечения срока действия ключа. По умолчанию ключ доступа выдаётся на срок 24 часа. Ключ записыватся в отдельный файл и считывается оттуда в течение работы программы.
Облачные хранилища стали для человека уже нормой. Загрузить в облако альбом с фотографиями или поделиться какими-либо документами не составляет большой сложности. Возможна такая ситуация, что мы хотим показать друзьям фотографии из социальных сетей, но соцсети могут быть недоступны по каким-либо причинам. Давайте защитимся от такого.
Нужно написать программу для резервного копирования фотографий с профиля(аватарок) пользователя vk в облачное хранилище Яндекс.Диск. Для названий фотографий использовать количество лайков и дату загрузки.
Но есть одна проблема — на Яндекс.Диске может закончиться место.
Было бы неплохо уметь архивировать самый большой и тяжёлый файл или папку и загружать обратно в облако - так можно сохранить больше свободного места.
Нужно написать программу, которая будет:
- Получать фотографии с профиля. Для этого нужно использовать метод photos.get.
- Сохранять фотографии максимального размера(ширина/высота в пикселях) на Я.Диске.
- Для имени фотографий использовать количество лайков и дату загрузки.
- Сохранять информацию по фотографиям в json-файл с результатами.
- Получать информацию по всем папкам в Я.Диске.
- Искать среди них самый тяжёлый.
- Скачивать файл на компьютер, где запущена программа.
- Архивировать файл.
- Загружать его обратно в ту же папку, откуда он был скачан.
- Записывать информацию по измененному файлу в json-файл.
Пользователь вводит:
- id пользователя vk;
- токен с Полигона Яндекс.Диска. Важно: Токен публиковать в github не нужно!
- json-файл с информацией по файлу с фото:
[{ "file_name": "34.jpg", "size": "z" }]
- json-файл с информацией по файлу архива:
{ “file_name”: “diplom.docx”, “size”: “исходный размер файла”, “path”: “disk:/Netology/diplom.docx” }
- Измененный Я.Диск, куда добавился новый архив и фотографии.
- Использовать REST API Я.Диска и ключ, полученный с полигона.
- Для загруженных фотографий нужно создать свою папку.
- Сохранять указанное количество фотографий(по умолчанию 5) наибольшего размера (ширина/высота в пикселях) на Я.Диске
- Для архивации файлов или папки использовать библиотеку zipfile.
- Опционально предлагать пользователю удалить с Диска файл/папку вместо загружаемого файла.
- Сделать прогресс-бар для отслеживания процесса программы.
- Код программы должен удовлетворять PEP8.
- Сохранять фотографии и из других альбомов.
[ ] Сохранять фотографии на Google.Drive.- Выдача топ-10 файлов по размеру.
[ ] Запись в гугл-таблицу список файлов в табличном виде - название, каталог хранения, размер.