Geen omschrijving

SergoZar cb40dec141 Оновити 'README.md' 1 jaar geleden
img b80e828042 Завантажувати файли до 'img' 1 jaar geleden
LICENSE 83e1f1f257 Initial commit 1 jaar geleden
README.md cb40dec141 Оновити 'README.md' 1 jaar geleden
config.yaml 47fc98cbd2 Завантажувати файли до '' 1 jaar geleden
fileman.py 47fc98cbd2 Завантажувати файли до '' 1 jaar geleden
main.py 47fc98cbd2 Завантажувати файли до '' 1 jaar geleden
pid 47fc98cbd2 Завантажувати файли до '' 1 jaar geleden
requirements.txt 47fc98cbd2 Завантажувати файли до '' 1 jaar geleden
restart.bat 47fc98cbd2 Завантажувати файли до '' 1 jaar geleden
start.bat 47fc98cbd2 Завантажувати файли до '' 1 jaar geleden
stop.bat 47fc98cbd2 Завантажувати файли до '' 1 jaar geleden
stop.py 47fc98cbd2 Завантажувати файли до '' 1 jaar geleden

README.md

Мене просто задовбало те, що у папці завантажень зазвичай не менше 500 файлів з яких важко, щось знайти)

Скрипт перевіряє наявність певних типів файлів у папці і переміщує у задані папки.

config.yaml

В config.yaml вказуються папки і пауза між перевірками в секундах.
Перевірити чи правильно написаний конфіг можна тут: https://yamlchecker.com/
Як правильніше назвати блоки із шляхами і типами я хз тому називаю просто блоком шляхів.

В одному блоці шляхів такі ключі:

  • watch - шлях або список шляхів в яких треба очікувати файли
  • target - головна папка куди треба переміщувати файли
  • subpaths - список підпапкок і які будуть створені у "головній папці"(target) і в які будуть переміщені окремі типи файлів

У subpaths вказується назва папки і в списку типи: папка: [тип1, тип2, ..., тип3]. Якщо вказати замість назви папки крапку то файли будть переміщені у головну папку

Пркилад:

Оскільки можливо хтось захоче скопіювати код то ось у текстовому форматі, мені не жалко):

# пауза між перевірками
pause: 2
paths:
- watch: 
  - D:\_\USER\Downloads # перша папка за якою буде стежити програма
  - C:\Users\SergoZar\Downloads # друга
  target: D:\_\USER\Downloads\_files # головна папка куди треба перемістити
  subpaths: # підпапки
  # підпапка з назвою "photo" в неї(D:\_\USER\Downloads\_files\photo) 
  # будуть переміщені усі файли з розширенням png, jpg, gif, webp i jpeg
  - photo: [png, jpg, gif, webp, jpeg]
  - video: [mp4, mov, webm]
  - archives: [7z, zip, rar, zstd]
  - bins: [exe, msi]
  - pdfs: [pdf]
  - docs: [doc, docx, odt, xlsx, xls, ppt, pptx, csv, ods, odp]
  - torrent: [torrent]
# а цього разу вказана одна папка
- watch: C:\Users\SergoZar\Downloads
  target: D:\_\USER\Downloads\_files
  subpaths:
  # оскільки вказана крапка то всі типи файлів із списку 
  # будуть переміщені у D:\_\USER\Downloads\_files
  - .: [png, jpg, gif, webp, jpeg, mp4, mov, webm, 7z, zip, rar, zstd]
  - name: [docx, pdf]

Запуск

Спочатку pip install -r requirements.txt а далі
Просто запускаєш main.py python main.py& і забуваєш(якщо ти на лінуксі.
А якщо ти на вінді то земля тобі бекдорами, а не на лінуксі то запускаєш start.bat

Конфіг динамічно не підтягується(поки-що хз як це зробити) тому після кожної зміни треба скрипт перезапустити

Зупинка

Для зупинки скрипта запусти скрипт(класно звучить - знаю) stop.py python stop.py

Проблеми?

В разі якихось проблем надсилай файл info_log.txt i error_log.txt

Ну і ще маленьким шрифтом напишу таке: Якщо скрипт поломає якийсь файл то я не несу за це відповідальності бо не я його запустив (:

Але ти можеш повідомити, що сталося, щоб я міг пофіксити це на майбутнє)