Программа выполняет резервное копирование данных, а также создание и/или обновление папок Документы, Музыка, Фото, Видео, PycharmProjects на Яндекс.Диске
Совместима только c ОС Windows
При первом запуске пользователь должен пройти OAuth-авторизацию, т.е. ввести OAuth-токен Яндекс.Диска. Подробная информация о том, что такое OAuth и как получить OAuth-токен на официальном сайте Яндекса. Введённый пользователем токен сохраняется в файле token.txt в директории проекта, после чего нужно перезапустить программу. При повторном запуске он будет подгружен автоматически.
На данный момент в программе предусмотрен следующий функционал:
- Резервное копирование данных
- Загрузка/обновление папки Документы
- --//-- Музыка
- --//-- Фото
- --//-- Видео
- --//-- Программирование
- резервное копирование включает в себя копирование папок Документы, Музыка, Фото и Видео (действие 1). Резервное копирование выполняется в отдельную папку BackUp/имя_пользователя/дата_резервного_копирвоания. При необходимости такая директория будет создана на Яндекс.Диске;
- папки Документы, Музыка, Фото и Видео загружаются на Яндекс.Диск из соответствующих директорий на ПК пользователя. Если на Диске до этого не было директорий с аналогичными названиями, то они будут созданы в корне автоматически (действия 2-5, действие 6 - PycharmProjects загружается в папку Программирование).
- при загрузке игнорируются папки, содержащие названия venv, .git, .idea, __pycache__, в частности это касается PycharmProjects (действие 6);
- при загрузке файлов с ПК на Яндекс.Диск программа определяет содержатся ли они уже на Диске в соответствующей директории. Если файлы совпадают по названию и содержимому, загрузка не происходит. Если только по названию, но содержимое другое, то добавляется постфикс с датой и временем последнего изменения файла на ПК и он загружается с этим постфиксом. В остальных случаях происходит стандартная загрузка файлов;
- после загрузки на Яндекс.Диск в консоли выводится сообщение об объёме загруженного контента и времени, затраченного на загрузку.
- отсутствует возможность загрузки больших файлов. Мне не удалось исправить эту ошибку. Это связано с TimeoutError, ProtocolError, ConnectionError. При возникновении таких ошибок файлы не могут быть загружены. В таком случае на рабочий стол пользователя записывается txt-файл YandexDiskUploader_LogErrors_текущая_дата, содержащий наименование ошибки, путь к загружаемому файлу на ПК и место, куда он должен был быть загружен. Файлы, перечисленные в лог-файле, могут быть загружены вручную.