Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Каталогизатор библиотеки

Автор Yougi, февраля 7, 2024, 15:29

0 Пользователи и 1 гость просматривают эту тему.

Yougi

 Количество притыренных книг на компе перевалило за 50 гигов, и начал я задумываться о некоем каталогизаторе, бо простое кидание книг в папки типа Tech/Elektro/Electronic/Radio/Anten/Vertical/перестало удовлетворять, и более того, начало вносить некую путаницу.
 Что я хочу?
 К каждому файлу, потенциально являющемуся книгой ( включая досовские файлы с расширением *.lha ) прикручиваемо ряд произвольно определяемых тегов, каковые тэги потом индексируются в оболочке и показываются наряду со всякими другими данными, типа девичьей фамилии тёщи автора, буде такую возникнет надобность прикрутить; возможность написать краткий комментарий типа "на странице 123 какой-то странный рецепт приготовления фульмигата серебра, надо бы проверить при случае", при всём при этом файлы должны лежать там, где их положили и открываться всякими внешними читалками.

Rusiok

На рабочем компъютере, кроме раскладывания файлов в каталоги, папки, подпапки и т.д, я включаю в имя файлов ключевые слова того, что мне интересно в файле.

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

Python

Вариант решения на коленке. Примечания, теги и т.п. можно записывать в обычные текстовые файлы с определенным расширением (напр., пусть будет .rem — тогда примечания к файлу somebook.pdf будут лежать в файле somebook.pdf.rem), файл примечаний должен лежать в том же месте, где книга. Поиск по примечаниям, в простейшем случае, можно делать при помощи grep или другой аналогичной утилиты для текстового поиска по файлам.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Yougi

Цитироватьв простейшем случае, можно делать при помощи grep
это прям юникс-вей какой-то... Проще на каком-нибудь иксбейсе написать своё...

Python

Можно и виндовый findstr использовать, если лень качать портированный grep для windows. Неуверен, впрочем, умеет ли grep или findstr искать во всех файлах с заданным расширением, разбросанных по разным поддиректориям. Возможно, придется добавить надстройку в виде команды for для прохождения поддиректорий, из которой будет вызываться findstr или grep, и все это офомить как батник.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Python

P.S. findstr может искать файлы с заданным расширением в поддиректориях. Если примечания хранятся в файлах *.rem, как я писал выше, а вся библиотека лежит в d:\my_library, то поиск по ним будет выглядеть так:
findstr /s "искомый текст" d:\my_library\*.rem
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Python

Если примечания содержат кириллический текст, то у findstr, grep и пр. могут быть трудности с кодировками. Проверил findstr — если искомый текст содержит кириллицу, то программа его находит только в файлах с ДОС-кодировкой (она же OEM — у нас обычно это cp866). Установленный у меня grep из пакета GnuWin32 понимает только ANSI-кодировку (т.е., windows-кириллицу, cp1251). Пока не разобрался, как их заставить работать с utf-8 или другими кодировками, не меняя всю систему. Если файлы примечаний всегда делать в ДОС-кодировке, то, думаю, можно и findstr обойтись.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Bhudh

Вот осталось в 2024 году DOS-кодировками пользоваться.
Вместо чтоб PowerShell-скрипт написать, у которого UTF-8 из коробки.
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Python

grep, идущий в комплекте к git, ищет utf-8. В общем, как оказывается, для каждой из кодировок можно подобрать свою сборку grep или findstr.
Цитата: Python от февраля 11, 2024, 00:49P.S. findstr может искать файлы с заданным расширением в поддиректориях. Если примечания хранятся в файлах *.rem, как я писал выше, а вся библиотека лежит в d:\my_library, то поиск по ним будет выглядеть так:
findstr /s "искомый текст" d:\my_library\*.rem
Для grep под windows аналогичная команда будет выглядеть так:
cd/d d:\my_library
grep -r --include="*.rem" "искомый текст"
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Yougi

Кстати, проблемка-то серьёзная.
 Попробовал несколько программ - ни у одной нет необходимого мне функционала. Вернее, он заявлен, но в реале не работает; учитывая платность программ (чего-то более или менее пристойного из фривари найти не удалось) - дело совсем швах.
 Странно как-то - весь интернет засижен страдальцами, вроде меня (нашёл кучу постов, аналогичных моему стартовому на разных ресурсах ), а предлагается какое-то уг за космические деньги...

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр