От добра добра не ищут

Сегодня попытался привести в порядок свою Библиотеку и к ужасу своему обнаружил , что Bookser c библиотеками в 80000 тыс книг не работает принципиально, правда работает Tellico, но под LInux
, а настраивать KDE под виндой как-то не хочется да и компиляция упомянутого Tellico может быть проблематична.
Посоветуйте каталогизатор под ms win, такой ,что
1) Поддерживает импорт из СSV
2) Open Source ,ибо с литресовцев станется подсунуть самописного троянца

Комментарии

Попробуйте FBReader — это в первую очередь читалка электронных книг, но каталог найденных FB2-книг она тоже формирует.

Fbreader, к сожалению выплняет пересканирование библиотеки при каждом запуске,что для 80000 тыс книг очень долго.:(
Хотя читалка хорошая....

А насколько долго, если не секрет? В принципе, если бóльшую часть времени книги читать, сканировать будет лишь при просмотре библиотеки. В любом случае может быть хорошей идей дать знать разработчикам об этой проблеме, чтобы имели в виду — обновления достаточно часто выходят, реагируют на обратную связь оперативно.

Кстати, на днях провёл эксперимент — скачал последнюю версию FBReader'а (под линукс) и попробовал натравить его на последний архив либрусека (12 ГБ zip-файлов). Программа ковырялась минут 20, заняла 350 метров оперативки, но теперь список книг запускается секунд за 10, памяти кушает 160 метров. Понятно, что окошко с текущей книжкой открывается так же быстро, как и раньше. В общем, меня это порадовало. :)

manshtein написал:

Посоветуйте каталогизатор под ms win, такой ,что

Попробуйте jFBlibrary.
Штука в общем-то неплохая.
Кроссплатформенность, опять же.

JEFLibrarian (ex. JFBLibrary)
http://www.fictionbook.org/forum/viewtopic.php?t=5531&postdays=0&postorder=asc&start=0

сам пользуюсь Библиотекарем, книг, правда, у меня порядков на несколько меньше :(
http://www.fictionbook.org/forum/viewtopic.php?t=4209

Я использую WhereIsIt v.2.83, не только для книг но вообще для всех файлов. Не самый лучший выход, однако так уж повелось, а теперь поздно менять. Правда, каталогизирует он по именам, так что предварительно у меня все переименовано на русский с помощью booki (а txt раньше переименовывал с помощью специального скрипта, теперь перешел исключительно на fb2). Зато поиск мгновенный (а в каталоге около 50000 книг), и можно сразу перейти в папку найденного файла (все на HDD, на DVD только резервние копии).

Пробовал все выше перечисленные,лучше "Библиотекаря" так и не нашёл.В базе данных порядка 57000,запускается не очень долго.JEFLibrarian работает на взгляд быстрее,но при добавлении более 3000 книг все остальные бракует,так это дело и не поборол.

И почему не рассматривается вариант с сносом выньдоуз.
Поверьте: жизнь ЗНАЧИТЕЛЬНО упроститься.

Потому что у большинства на машине сидят еще и домашние, которых переучивать на Линуху или Фряху либо бесполезно( потому как нервов больше огромного потратишь, а тольку ноль), либо не твоя машина по определению, куда тебя пустили просто потому что, либо не стоит овчинка выделки и чел абсолютный виндузятник.
И потом, в обществе линуксоидов весьма распространена такая зараза - на вопрос "как сделать то и то?" получаешь ответ "читайте howto". Из чего делаешь вывод, отвечающий
1. набирает посты
2. загордился до нельзя
3. не знает как, но хочет показаться гуру
4. все вышеперечисленное вместе
Это, как правило, является основным препятствием распространению Линукса при всем его удобстве.
Поэтому ориентируемся на Выньдоуз, как на более распространенную систему с более дружелюбным сообществом.

podarok66 написал:
Потому что у большинства на машине сидят еще и домашние, которых переучивать на Линуху или Фряху либо бесполезно( потому как нервов больше огромного потратишь, а тольку ноль)

Есть мнение, что если не требовать навыков по установке и/или администрированию, то вполне можно работать и с имеющимися навыками.
Для этого не обязательно даже наличие GNOME/KDE/Xfce.

podarok66 написал:
либо не твоя машина по определению, куда тебя пустили просто потому что

В таком случае не вижу смысла в заморочках с разворачиванием большой библиотеки.

podarok66 написал:
И потом, в обществе линуксоидов весьма распространена такая зараза - на вопрос "как сделать то и то?" получаешь ответ "читайте howto". Из чего делаешь вывод, отвечающий
1. набирает посты
2. загордился до нельзя
3. не знает как, но хочет показаться гуру
4. все вышеперечисленное вместе

Вообще-то вывод неверный и налицо передёргивания: подобные "ответы" процентов так на 90 вызваны:
1. Нежеланием вопрошающего подумать над корректной формулировкой. И привычным отношением, что ему все обязаны. Даже служба поддержки мелкософта вылизывать его будет за куда бОльшие деньги, чем обычная лицензия.
2. Попыткой переноса в мир OpenSource навыков работы в выньдоуз.

podarok66 написал:
Это, как правило, является основным препятствием распространению Линукса при всем его удобстве.

Основным препятствием к распространению является то, что население по бОльшей части отучили думать и приучили есть то, что дают (что приносит больше прибыли нужным людям). + инерция.

podarok66 написал:
Поэтому ориентируемся на Выньдоуз, как на более распространенную систему с более дружелюбным сообществом.

Относительно дружелюбности сообщества ИМХО Вы преувеличиваете.
Хотя... Зависит от того, с какими вопросами обращаться.

Поддерживаю предыдущего оратора. Перепробовал практически все бибилотекари, которые только смог найти, ИМХО упомянутый не раз выше Библиотекарь http://www.fictionbook.org/forum/viewtopic.php?t=4209 на сегодняшний день самый удобный и наименее глючный. Сейчас у меня в его базе чуть больше 50К книг, запускается, конечно, не мгновенно, но вполне терпимо. Зато загруженный бегает шустро, пользоваться им одно удовольствие, плюс удобный экспорт выбранных книг на флешку электронной читалки, чего нет в некоторых библиотекарях, и что для меня принципиально важно. Много других функциональных удобств, открытая структура, бесплатен.
Кроме того, я его же начал использовать и для каталогизации книг и документов в других форматах - pdf, djvu и даже для видеороликов. Так что рекомендую обязательно хотя бы попробовать.

JFBLibrarian я пробовал в первую голову, хотелось-таки сделать удобную библиотеку,однако максимум что удалось - создать бку размером порядка 10 тыс книг, для чего пришлось прописать для Java машины 256 метров памяти,а ,больше не могу,тк машина старая.
Потому и использовал до недавнего времени BookSeer и tellico ,поскольку оба поддерживают импорт из csv.

Беру свои слова обратно не усмотрел,что в апреле вышел новый релиз,несколько оптимизированн, памяти жрет раза в 2.5 меньше

Разочарование JFblibrarian криво поддерживает fb2,не распознается 20% книг ,причем проверял FictionBook Tools - валидные

На тему читалок на ПК - попробуйте порт с WM AlReader2 с возможностью правки

Дорогие мои виндузятники нашел способ решить проблему очень простыми средствами, а именно
утилитка TablePro , авторы обещают держание по меньшей мере пары лимонов строк.
Хочу устроить микроликбез по генерации CVS с содержанием библиотеки.
В начале потребуется
1) FAR (исключительно для генерации списка файлов)
2)PYTHON (если кто-нибуть напишет все целиком на Python буду благодарен)
3) GNU AWK для Windows
4) скрипт с сайта
собственно скрипты
description.awk
BEGIN{
title="error"
theme="error"
author1=""
author2=""
author3=""
Path="error"
}
{
if ($1=="/description/title-info/genre:") theme=$2
if ($1=="/description/title-info/author/first-name:") author1=$2
if ($1=="/description/title-info/author/last-name:") author3=$2
if ($1=="/description/title-info/author/middle-name:") author2=$2
if ($1=="filename:") Path=$2
if ($1=="/description/title-info/book-title:") {title=$N;sub("/description/title-info/book-title:","",title)}
}
END {print title";"author1" " author2" "author3 ";"theme ";file://"Path";"}

work.awk
BEGIN{ll=0;error=0;status=0}
{status=system("python c:/script/book_index/fb2desc.py "$N" |awk -f c:/script/book_index/description.awk >> ./OUT.CSV " );if (status !=0) {error=error+1;};ll=ll+1;print "N",ll,"errors",error,$N}
END{print "files,", ll",errors", error}

требуется сменить путь c:/script/book_index/ на путь к каталогу с fb2desc.py и description.awk

Запуск
awk -f "путь к work awk"/work.awk <"файл со списком файлов библиотеки"

Результат
в OUT.CSV текущем каталоге

А ежели, скажем, у книжки несколько авторов?

Пока отображается только 1 (последний),однако можно легко исправить чтобы писались через запятую

manshtein написал:
Хочу устроить микроликбез по генерации CVS с содержанием библиотеки.

у меня на эту тему есть пара утилит
1. http://kv-kvar.mylivepage.ru/file/361/3818_fb2_read_v0-97_beta.rar
строит csv список для свалки фб2-файлов, начиная с заданного каталога. Позволяет
- задавать стартовый каталог
- задавать содержание списка из дескрипшенов фб2-файлов
- задавать параметры имен файлов, включаемые в список - типа имена, размера и т.п.
- поддерживает файлы fb2 или fb2.zip
2.http://kv-kvar.mylivepage.ru/file/361/3819_prprogac.rar
обработка csv списков. Позволяет
- перетасовывать поля в списках
- простейшие операции по обработке полей
- генерировать камандные скрипты на основе полей списков. Например, можно сделать переименовалку файлов, перенос по каталогам и т.д.
Проги писали разные люди, во вторую надо въезжать, там есть примитивный язык для описания полей и операций. Оказались очень полезными и не только при работе с библиотекой.

Ищу желающих помочь в разработке обвязки для имеющейся библиотечной базы на MySQL.

Писаться будет под QT ?

manshtein написал:
Писаться будет под QT ?

Если под базу - то конечно, хотелось бы кроссплатформенное. МОжно и QT. Но здесь зависит также от программеров - ну в смысле кто что может. Пока что есть такой что может под винду. Я рассматриваю это как тестовую обкатку базы. Вполне может быть что потребуется чего-то поменять. Так что по большому счету, вопрос платформы для разработки библиотекаря открыт.

Вот структура базы

сейчас туда залит бук-либ. В планах добавить другие либы - альд, либрусек, колхоз, мехмат. База это позволяет.

исправил чтобы писалась серия
description.awk

BEGIN{
title="error"
theme="error"
author1=""
author2=""
author3=""
seria=""
seria_num=""
Path="error"
}
{
if ($1=="/description/title-info/genre:") theme=$2
if ($1=="/description/title-info/sequence/name:") seria=$2
if ($1=="/description/title-info/sequence/number:") seria_num=$2
if ($1=="/description/title-info/author/first-name:") author1=$2
if ($1=="/description/title-info/author/last-name:") author3=$2
if ($1=="/description/title-info/author/middle-name:") author2=$2
if ($1=="filename:") Path=$2
if ($1=="/description/title-info/book-title:") {title=$N;sub("/description/title-info/book-title:","",title)}
}
END {print title";"author1" " author2" "author3 ";"theme ";" seria" "seria_num ";file://"Path";"}

исправил чтобы писалась серия
description.awk

BEGIN{
title="error"
theme="error"
author1=""
author2=""
author3=""
seria=""
seria_num=""
Path="error"
}
{
if ($1=="/description/title-info/genre:") theme=$2
if ($1=="/description/title-info/sequence/name:") seria=$2
if ($1=="/description/title-info/sequence/number:") seria_num=$2
if ($1=="/description/title-info/author/first-name:") author1=$2
if ($1=="/description/title-info/author/last-name:") author3=$2
if ($1=="/description/title-info/author/middle-name:") author2=$2
if ($1=="filename:") Path=$2
if ($1=="/description/title-info/book-title:") {title=$N;sub("/description/title-info/book-title:","",title)}
}
END {print title";"author1" " author2" "author3 ";"theme ";" seria" "seria_num ";file://"Path";"}

Использую Библиотекарь FBLibrarian года два:
http://www.k-dmebel.ru/FBLibrarian/fb2lib.1.4.0.0.rar
http://www.k-dmebel.ru/FBLibrarian/fb2lib.1.4.2.1.update.rar
в базе около 80 тыс. книг - тормозит, но работает...

Исправил проблему с книгами ,имеющими несколько авторов

А не проще разбить библиотеку на части? У меня, скажем, отдельно - художественная литература, отдельно - всё остальное. Примерно по 50 000 в каталоге получается, а это буксир тянет...

Итак выкладываю окончательный вариант библиотечного индексатора
Для работы нужны установленные Python и awk

Запуск
в директории продукта
awk -f ./work.awk < список_индексированных файлов
результат в Оut.csv
Для работы с ним рекомендую TablePro c http://zgsprojects.narod.ru/

PS.
Большое спасибо за скрипт fb2desс.py aвтору программы Pybookreader

ICE BookReader последней версии каталогизация там на уровне + шкурки - оглавления и картинки, возможен поиск, конвертация в собственный формат все на русском

IceBook Reader без графики и держит книжки в закрытом формате,что неудобно при работе с двумя операционками

Исправленная версия description.awk (был глюк при обработке книг с ";" в названии)
BEGIN{
ind1=0
ind2=0
ind3=0
title="error"
theme="error"
author1[ind1]=""
author2[ind2]=""
author3[ind3]=""
seria=""
seria_num=""
Path="error"
}
{
if ($1=="/description/title-info/genre:") theme=$2
if ($1=="/description/title-info/sequence/name:") seria=$2
if ($1=="/description/title-info/sequence/number:") seria_num=$2
if ($1=="/description/title-info/author/first-name:") { author1[ind1]=$2;ind1++;author1[ind1]="";}
if ($1=="/description/title-info/author/last-name:") {author3[ind3]=$2;ind3++;author3[ind3]="";}
if ($1=="/description/title-info/author/middle-name:") {author2[ind2]=$2;ind2++;author2[ind2]=""};
if ($1=="filename:") Path=$2
if ($1=="/description/title-info/book-title:") {title=$N;sub("/description/title-info/book-title:","",title)}
}
END {
for (i=ind1;i=b)&&(a>=c)){
return a;};
if ((b>=a)&&(b>=c)){
return b;};

return c;
}

X