Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Работа с директориями в Windows #38

Open
konstantisu opened this issue Sep 28, 2024 · 5 comments
Open

Работа с директориями в Windows #38

konstantisu opened this issue Sep 28, 2024 · 5 comments

Comments

@konstantisu
Copy link

konstantisu commented Sep 28, 2024

  1. Было бы неплохо добавить ремарку в Readme, что пути в json-конфиге нужно указывать с двумя слешами \ - ладно я через час тупизны вспомнил про эти "особенности", но новички налетят сразу... :)
  2. с путями с кириллицей в UTF-8 работает нормально (да, это моветон, но иногда нужно, если <обновляемая> раздача создана именно с таким путем, чтобы не возиться с перименованиями постоянно) И вот тут возникает странный баг? Если inpx лежит в том же каталоге, что и архивы - все в порядке. Если же в соседнем - получается ошибка вида
  3. 2024-09-28 10:41:07.895 FATAL ERROR: EISDIR: illegal operation on a directory, read
  4. Образец куска конфига для известной раздачи прилагаю. Если руками переносить файл inpx в каталог с базой (Libdir)- и оставить дефолтным параметр "inpx" - все в порядке. Если же указать (правильный) путь в параметре "inpx": - валится с ошибкой выше.
  5. "libDir": "D:\DOWNLOAD\_Lib.rus.ec - Официальная\lib.rus.ec",
    "inpx": "D:\DOWNLOAD\_Lib.rus.ec - Официальная",
    два слеша \ \ автоматически "поправились" на один в этом комменте, ну это понятно.
@fredy314
Copy link

Возможно ли сделать чтобы в libDir можно было указать несколько директорий? у меня вся библиотека на одном диске не поместилась пришлось часть на другой диск перенести, d:\Flibusta+c:\Flibusta
или можно как-=то линки на файлы сделать в виндовсе чтобы inpx-web мог их прочесть с другого диска?

@Weegley
Copy link
Contributor

Weegley commented Sep 28, 2024

  1. Было бы неплохо добавить ремарку в Readme, что пути в json-конфиге нужно указывать с двумя слешами \ - ладно я через час тупизны вспомнил про эти "особенности", но новички налетят сразу... :)

    1. с путями с кириллицей в UTF-8 работает нормально (да, это моветон, но иногда нужно, если <обновляемая> раздача создана именно с таким путем, чтобы не возиться с перименованиями постоянно) И вот тут возникает странный баг? Если inpx лежит в том же каталоге, что и архивы - все в порядке. Если же в соседнем - получается ошибка вида

    2. 2024-09-28 10:41:07.895 FATAL ERROR: EISDIR: illegal operation on a directory, read

    3. Образец куска конфига для известной раздачи прилагаю. Если руками переносить файл inpx в каталог с базой (Libdir)- и оставить дефолтным параметр "inpx" - все в порядке. Если же указать (правильный) путь в параметре "inpx": - валится с ошибкой выше.

    4. "libDir": "D:\DOWNLOAD_Lib.rus.ec - Официальная\lib.rus.ec",
      "inpx": "D:\DOWNLOAD_Lib.rus.ec - Официальная",
      два слеша \ \ автоматически "поправились" на один в этом комменте, ну это понятно.

Попробуйте для начала сделать слеши обратными:

"libDir": "e:/fb2.Flibusta.Net/",  
"inpx": "e:/fb2.Flibusta.Net/flibusta_fb2_local.inpx", 

Попробовал повторить структуру как у вас:

"libDir": "e:/fb2.Flibusta.Net-Официальная/fb2.Flibusta.Net/",  
"inpx": "e:/fb2.Flibusta.Net-Официальная/flibusta_fb2_local.inpx", 

Всё работает
У Вас config.json в UTF же сохранён?

@Weegley
Copy link
Contributor

Weegley commented Sep 28, 2024

или можно как-=то линки на файлы сделать в виндовсе чтобы inpx-web мог их прочесть с другого диска?

Можно попробовать символьными ссылками через mklink:

mklink d:\main_folder\file1.zip e:\part1\file1.zip
mklink d:\main_folder\file2.zip f:\part2\file2.zip

Проверил сейчас - вынес inpx файл в сторонку, создал символьную ссылку - работает.
Принимающая папка (та, где будет ссылка) должна быть на NTFS
Получается - можно большую либу раскидать хоть на сотню частей.

  1. Создаём [пустую] папку откуда inpx-web будет брать данные
  2. Создаём в ней ссылки на нужные файлы (и даже папки)
  3. В конфиге все пути на эту папку
  4. PROFIT

@bookpauk
Copy link
Owner

bookpauk commented Oct 4, 2024

Weegley, Вам надо памятник поставить за поддержку проекта, благодарю за помощь.

@bookpauk
Copy link
Owner

bookpauk commented Oct 4, 2024

Возможно ли сделать чтобы в libDir можно было указать несколько директорий? у меня вся библиотека на одном диске не поместилась пришлось часть на другой диск перенести, d:\Flibusta+c:\Flibusta или можно как-=то линки на файлы сделать в виндовсе чтобы inpx-web мог их прочесть с другого диска?

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants