
17.04.2022, 17:25
|
|
Участник форума
Регистрация: 17.04.2020
Сообщений: 184
С нами:
3197792
Репутация:
83
|
|
Доброго времени бытия.
Решил сбацать полу-бесполезный стиллер на питоне, который не знаю где может пригодиться.
Суть работы: 1) При запуске программы она добавляет .bat файл в папку C:\Users\NAME\AppData\Roaming\Microsoft\Windows\St art Menu\Programs\Startup,что позволяет ей совершать автозапуск после рестарта ПК.
2) Далее создаётся папка в C:\Users\NAME\AppData\Roamingпод именем Opera, в которую в дальнейшем будут помещаться .zip архивы с файлами.
3) Начинается два бесконечных цикла while, которые проверяют наличие флешки (второй цикл нужен потому что при краше программы первый сразу же восстановит её, и я знаю что это можно было сделать через один цикл, но мне как-то так приятнее.)
*** Алгоритм определения USB до жопы прост, и это можно считать самым большим костылём во всей программе ***
Если размер диска это флешка.
*** Возможные ошибки***
Проводя тесты, заметил, что ошибка бывает только одна, а именно: если при копировании файлов в .zip вытащить флешку, программа упадёт.
4) Каждые 0.5 секунды идёт проверка на наличие флешки через алгоритм, описанный выше.
5) Если USB найден/найдены, создаётся .zip архив в папке Opera, в него помещаются все файлы с флешки/флешок и отправляются на ваше облачное хранилище. После этого архив/архивы удаляются.
Если вам интересно, то без интернета всё будет работать, просто архивы не удаляются, а при каждой перезагрузке системы происходит проверка папки Opera, и попытка загрузить все .zip архивы на диск. Если загрузится - опять же, архивы самоуничтожатся. Если нет - продолжит собирать файлы в папке Opera.
6)Если удалось загрузить файлы на сервер - вы получите ссылку загруженный архив в чате с вашим Telegram-ботом.
7)После успешного копирования данных в папку Opera программа отправляется сладко спать на 1,5 часа. Сделано это с надеждой на то, что человек за это время извлечёт флешку, и архивы с одинаковыми файлами не создадутся повторно. Вы, конечно, можете менять это значение под свои нужды.
Все ошибки по типу FileNotFoundError, FileExistsError и.т.п отлавливаются, и запуск программы должен проходить гладко.
Что вам необходимо?
1)Установить все зависимости :
pip install mega.py
pip install pyTelegramBotAPI
pip install pyinstaller
2)Создать диск на MEGA, записать логин и пароль в файл load.py

3)Создать Telegram-бота (@botfather), создать с ним диалог (отправить любое сообщение), записать его token и ваш id в файл notifier.py

4) Скомпилировать программу с помощью pyinstaller. (Компилировать исключительно python 3.10 + версии, ибо я проводил тесты по декомпиляции, и все известные декомпиляторы отказались работать с этими версиями.)
Всё!
Не гарантирую работу на Win 8 и ниже.
Можете отправить это кому угодно, и смотреть, что человек хранит на флешке.
Пишите по поводу ошибок в комментарии. По поводу ошибок с компиляцией - не пишите.
PS.
Я активно пытаюсь переписать эту программу на C++, у меня не получается. Если вы спец в плюсах - добро пожаловать в мою личку телеграм @fearlessillness
|
|
|
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|