Вы здесьещё один каталогизатор fb2
      Опубликовано чт, 05/11/2009 - 04:09 пользователем Малолетний Д.     
  
  Linux. GPL. Python + Qt4.5 + sqlite3. Под оригинальным названием PyHomeLib. 
  | 
  
   Вход на сайтПоиск по блогам и форумамUser menuПоследние комментарии
      alex-from RE:Оплатил два раза, но абонемента нет 15 часов 
  babajga RE:Приключения белочки Рыжки 18 часов sem14 RE:Книжная серия "Жизнь в искусстве" издательство "Искусство"... 1 день Kiesza RE:На 78-м году жизни скончался советский и российский... 1 день Aliki RE:Подайте бедному копеечку на книжку с литреса... 2 дня Paul von Sokolovski RE:Бушков умер. 1 неделя lemma7 RE:Серия «Интеллектуальный детектив» изд-ва АСТ 1 неделя mig2009 RE:Багрепорт - 2 2 недели Isais RE:Издательство "Медуза" 2 недели babajga RE:Народные сказки - Сказки народов Сибири = Fairy-Tales of... 3 недели Саша из Киева RE:Кто сможет раздобыть и оцифровать нужные мне книги? 4 недели sibkron RE:Серия "Библиотека французской литературы" (Макбел) 4 недели Isais RE:Игорь Северянин - Том 2. Поэзоантракт 1 месяц sem14 RE:Современная корейская литература. Книжная серия... 1 месяц sem14 RE:Семейственность в литературе 1 месяц Isais RE:Детство, опаленное войной (Вторая мировая 1939-1945 и ВОВ) 1 месяц Саша из Киева RE:Подводное течение 1 месяц konst1 RE:Переименовать ник (имя учетки) 2 месяца Впечатления о книгах
Lena Stol про Искаженный мир
04 11 Прочитала обе книги, пропускала много, особенно во второй части, хороший сюжет, но уж очень автор растянул. Если из двух книг сделать одну, будет интереснее. 
udrees про Михеенков: Маргелов (Биографии и Мемуары)
04 11 В книге встречаются интересные упоминания, например про новобранцев с Западной Украины, «командиры были им не рады», они ненавидели оба режима, были коллаборантами, вообще удивительно, как они воевали в рядах Красной Армии, ……… Оценка: неплохо 
udrees про Вальтер: Реквием [СИ litres] (Боевая фантастика, Социальная фантастика, Приключения: прочее, Самиздат, сетевая литература)
04 11 Вот и завершилась история четверки отморозков, что портили воздух после начала Армагеддона. Таких отбитых персонажей еще надо поискать, но у автора есть еще похожие циклы произведений с таким же отребьем в роли главных героев. Книга ……… Оценка: неплохо 
udrees про Келли: Сатана. Биография (История, Религиоведение, Религия)
04 11 Просто какая-то религиозная муть, что я могу сказать про эту книгу. Автор конечно проделал большую работу, достойную кандидатской или даже докторской диссертации, изучил множество источников, анализировал, сопоставлял, делал ……… Оценка: плохо 
udrees про Мантикор: Город, которого нет 2 [СИ] (Фэнтези, Самиздат, сетевая литература)
04 11 Книга все больше начинает напоминать серию книг автора – Покоривший Стену. По крайней мере начинаешь встречать знакомую терминологию – энергет, изнанка, пустотная магия, мертвая магия, цветы эдельвейс, артефакты некоторые. ……… Оценка: отлично! 
udrees про Мантикор: Город, которого нет (СИ) (Фэнтези, Самиздат, сетевая литература)
04 11 Первая книга серия захватывает с первых страниц, потому что без предисловий герой, как и в серии книг из Покоривший Стену, просыпается уже в новом мире, в новой Игре. Так что амнезия на старте и изучение непонятного мира, ……… Оценка: отлично! 
Belomor.canal про Маттиоли: Темные финансы. Неликвидность и авторитаризм на окраинах Европы [Dark Finance: Illiquidity and Authoritarianism at the Margins of Europe ru] (История, Экономика)
03 11 Впечатляет, что смогли провернуть шустрые македонцы, вместе с евродепутатами! "Скопье 2014" - евро откаты и как это делается в развитой демократии. Оценка: отлично! 
Sello про Эшноз: Высокие блондинки [Les grandes blondes ru] (Иронический детектив)
03 11 Разве только что за неимением под рукой другой книги, более приемлемой для чтения, сойдет. Оценка: неплохо 
mysevra про Мессинг: Магия моего мозга. Откровения «личного телепата Сталина» [litres] (Биографии и Мемуары, Эзотерика)
02 11 Я, как тот кот, «чё-то сомневаюсь» в подлинности дневников, но прочитала в целом с интересом. Оценка: хорошо 
mysevra про Ливергант: Пэлем Гренвилл Вудхаус. О пользе оптимизма (Биографии и Мемуары, Литературоведение)
02 11 Удивительный человек. Эрудированный, работоспособный. Британская дисциплина и незаурядный талант в одном флаконе. Тем паче поражает дивное сочетание умения зарабатывать деньги и странной непрактичности, словно оторванности от реального мира. Оценка: отлично! 
mysevra про Перцефф: Гиперболоид смерти. Психотронное оружие в действии (Публицистика)
02 11 Ох уж этот «тонкий» привкус пропаганды и двойные стандарты. Редкостное лицемерие, небрежно упакованное в обёртку заботы о ближнем. Оценка: плохо 
Олег Макаров. про Олигарх
02 11 «...питерский мужик, но очень большой любитель истории, особенно родного Севастополя...» так я не понял, мужик-то питерский или севастопольский?  | 
  
  
Комментарии
Отв: ещё один каталогизатор fb2
Прикольно :-)
Отв: ещё один каталогизатор fb2
Что делает, что умеет, напишите, пожалуйста.
Отв: ещё один каталогизатор fb2
Добавляет .fb2 из указанных директорий в базу, после позволяет всячески искать,
можно создавать различные группы книг, например "Избранное", "К прочтению",
позволяет выполнить из всплывающего меню практически любое действие с файлом книги,
в настройках указываются названия действий и командные строки, по умолчанию там
запуск FBReader, Okular, просмотр информации о файле, валидация.
Отв: ещё один каталогизатор fb2
добавил в /soft.
спасибо.
Отв: ещё один каталогизатор fb2
обидно в дебиане qt 4.4.3-1 (((
Отв: ещё один каталогизатор fb2
Обнови)
Регистрация на сайте
Я давно в интернете но такой удивительный бардак вижу впервые!Не могу даже зарегистрироваться!Что с автоматикой?Надо же за ней следить!!!
Отв: ещё один каталогизатор fb2
Пробую запустить под виндой. Python 2.6. PyQT4, PySQLite и QT (2009.04) скачал с офсайтов, exapl'ы работают, а каталогизатор не хочет, сообщая, что "No module named ui_statisticsdialog".
Отв: ещё один каталогизатор fb2
Там для интерфейса этого окна автор забыл сгенерировать соответствующий файл с классом.
Можно сделать так (находясь в каталоге с программой):
pyuic4 statisticsdialog.ui > ui_statisticsdialog.py
У меня OpenSuse 11.1, pyuic4 входит в пакет python-qt4-devel, в других дистрибутивах может и отличаться.
Сама программа вроде работает, но проверил только на небольшом каталоге с парой десятков файлов fb2. Файлы с кириллицей в имени или пути не открывает - имя в неправильной кодировке (у меня в системе UTF-8, естественно).
На всякий случай приложил файл ui_statisticsdialog.py, если вдруг кому неохота ставить кучу devel-пакетов. Файлы с расширеним PY тут почему-то заливать нельзя, поэтому поменял его на TXT, потом поменяйте обратно.
Отв: ещё один каталогизатор fb2
Посмотрим, спасибо.
Отв: ещё один каталогизатор fb2
Поправил.
Для поклонников debian stable теперь есть патч. Делаем так:
pyhomelib$ patch -Np1 < pyhomelib-legacy.patch
Проверил на свежей установке Debian Lenny, вроде всё работает.
Отв: ещё один каталогизатор fb2
Сгенерировать не забыл, а вот добавить в репозиторий таки да. Поправим, спасибо.
Отв: ещё один каталогизатор fb2
Беспокоит как это будет работать на старых машинах. Такая связка не отличается хорошей производительностью =\
Отв: ещё один каталогизатор fb2
Главное, у меня работает :))
Ну, может кто-нибудь перепишет на C++, ничего специфически питоновского там нет, всё через Qt. От самого Qt избавиться сложнее, проще с нуля.
Отв: ещё один каталогизатор fb2
Жаль что нет под Debian Lenny. Обновлять не хочу, так как жаль систему)
Отв: ещё один каталогизатор fb2
А не сможет ли уважаемый автор собрать это под maemo 5 (N900). Полноценный каталогизатор в кармане сильно бы облегчил жизнь.
Отв: ещё один каталогизатор fb2
Нет. Надо искать специалиста.
Отв: ещё один каталогизатор fb2
А нельзя ли научить программу работать с файлами *.fb2.zip?
Отв: ещё один каталогизатор fb2
Научить-то можно, разумеется, но есть ли в этом необходимость?
Отв: ещё один каталогизатор fb2
у меня ошибка: ImportError: cannot import name QtSql
все необходимые пакеты стоят, не подскажите в чем может быть дело?
Отв: ещё один каталогизатор fb2
Пакеты libqt4-sql, libqt4-sql-sqlite установлены? Это если у Вас Debian, в других дистрибутивах могут называться по-другому.
Отв: ещё один каталогизатор fb2
проверила, установлены:
burenka@crazy-nout:~$ dpkg -l|grep libqt4-sql
ii libqt4-sql 4.5.3really4.5.2-0ubuntu1 Qt 4 SQL module
ii libqt4-sql-sqlite 4.5.3really4.5.2-0ubuntu1 Qt 4 SQLite 3 database driver
Отв: ещё один каталогизатор fb2
python-qt4-sql?
Отв: ещё один каталогизатор fb2
все получилось. спасибо.
пакет, действительно, не стоял.
Отв: ещё один каталогизатор fb2
Только сейчас снова добрался до этой программы. Ещё предложение: сделать, чтоб искало (название, автора и т.п.) без учёта регистра и по подстроке, хотя бы опционально. Сейчас оно ищет с учётом регистра и по подстроке только сначала слова, что довольно неудобно.
Отв: ещё один каталогизатор fb2
Уже есть, нужно только собрать расширение на C:
$ make ext
или, чтобы ещё игнорировало разницу между "ё" и "е":
$ make ext yo=1
(Нужен gcc) UPD: ...а также libicu-dev, libsqlite3-dev.
Тоже можно. Просто набираете в начале строки знак процента (%).
Отв: ещё один каталогизатор fb2
Спасибо, "%" работает, "ё" не проверял, нет таких книг и авторов, а вот регистронезависимый поиск - всё равно не работает. make ext yo=1 отработало без ошибок, все необходимые заголовочные пакеты и библиотеки, стало быть, есть.
Отв: ещё один каталогизатор fb2
Должны были появиться sqlite3ext.so и libSqliteIcu.so. В каталоге с программой.
Отв: ещё один каталогизатор fb2
Появились, но в поиске ничего не изменилось. Я даже добавил каталог с Pyhomelib в /etc/ld.so.conf и запустил ldconfig - думал, может, оно эти библиотеки не видит, но всё равно в поиске ничего не изменилось.
Отв: ещё один каталогизатор fb2
Интересно, интересно. Добавлять в ld.so.conf - это, безусловно, лишнее. А что у Вас за версии python'а и sqlite3? Надо попробовать воспроизвести.
Отв: ещё один каталогизатор fb2
$ python --version
Python 2.6.2
$ rpm -qa | grep -i sqlite | sort
libqt4-sql-sqlite-4.6.0-14.1.i586
libsqlite3-0-3.6.16-2.3.i586
qt3-sqlite-3.3.8b-115.1.i586
sqlite2-2.8.17-168.2.i586
sqlite3-3.6.16-2.3.i586
sqlite3-devel-3.6.16-2.3.i586
У меня OpenSuse 11.2.
PS: извините, промахнулся по ссылке и сломал тред, а удалять свои сообщения тут, похоже, нельзя.
Отв: ещё один каталогизатор fb2
Не могу разобраться, в чём дело, а сусе ставить как-то лень.
Если запустить
$ python -c 'import sqlite3ext as s; print dir(s); s.load_icu(None)'
из каталога программы, что питон говорит?
(Есть гарантированный вариант для настоящих мужчин: пересобрать дистрибутивный sqlite3 с -DSQLITE_ENABLE_ICU=1 -licui18n -licuuc . В таком случае регистронезависимый юникодный поиск появится во всех приложениях, использующих либу. Не знаю, почему Debian собирает без.)
Отв: ещё один каталогизатор fb2
Прошу прощения за ответ с такой задержкой - уезжал в безынтернетные места.
$ python -c 'import sqlite3ext as s; print dir(s); s.load_icu(None)'
Traceback (most recent call last):
File "", line 1, in
ImportError: ./sqlite3ext.so: undefined symbol: sqlite3_enable_load_extension
Судя по spec-файлу, в OpenSuse 11.2 sqlite3 собран с такими опциями: -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SERVER=1
Вариант для настоящих мужчин не очень удобен, т.к. sqlite3 может обновиться и перекрыть самосборный. Впрочем, надо попробовать.
Отв: ещё один каталогизатор fb2
Давненько что-то
не брал я в руки шашекне заходил на либрусек. Извините.Дело проясняется, спасибо. Проблема тут вот в чём.
При компиляции sqlite3 существует возможность запретить загрузку расширений: есть такой ключик - --disable-load-extension. (Разрешающий, наоборот, --enable-load-extension.) Применение оного ключика ведёт к отсутствию в собранной библиотеке функций sqlite3_enable_load_extension и sqlite3_load_extension - и это как раз Ваш случай: в вышеуказанной .rpm-ке их нет.
С моей стороны сделать тут что-либо не представляется возможным, спасёт только пересборка.
Вопрос с обновлениями может быть решён путём помещения собранной библиотечки libsqlite3.so.x.y.z непосредственно в каталог с программой и создания там же симлинка с именем libsqlite3.so.x:
$ ln -s libsqlite3.so.0.8.6 libsqlite3.so.0
Далее можно запускать программу примерно так:
$ LD_LIBRARY_PATH=. python pyhomelib.py
Отв: ещё один каталогизатор fb2
Это, пожалуй, самый лучший вариант, так и сделал - работает. Большое спасибо!
PS: будете ли развивать программу дальше? А то я смотрю - последние коммиты от 15 февраля. Было бы жаль, если проект умрёт. Другой свободный аналог для Linux - MyRuLib - на FLTK/Gtk, что не очень хорошо. Сам рад бы помочь, но я не программист и на Питоне разве что "hello, world" напишу.
Отв: ещё один каталогизатор fb2
Ну, у меня есть небольшой список to do, который хотелось бы реализовать до выпуска release candidate, но как-то всё пока руки не доходят. А в какую сторону развивать-то? Лично меня в общем и целом устраивает, пользуюсь. Есть какие-то предложения?
Отв: ещё один каталогизатор fb2
Пока предложения такие:
- списки книг/авторов и т.п. (таблицы) покомпактней, а то занимают очень много места;
- по возможности какой-то единый поиск (хотя бы опционально), т.е. одно поле для поиске, текст из которого ищется в названиях книг, именах авторов, жанрах и т.д.; как на этом сайте, к примеру; думаю, это не сильно замедлит поиск;
- можно ли как-то ускорить импорт? Сколько оно будет переваривать полный текущий срез "Либрусека"/"Флибусты"? Я так понял, у вас сделан полный разбор XML-файла с книгой, а если разбирать только заголовок, регулярными выражениями? (если что - просто мысли дилетанта).
Пока больше ничего в голову не приходит. Ну, и пожелание ещё: можно ли обсуждение программы и т.п. перенести на тот же github.com? Там вроде можно сделать что-то вроде форума и/или багтрекера? А то я после известных событий перешёл на "Флибусту" и сюда захожу только ради этой программы :-)
Отв: ещё один каталогизатор fb2
Долго переваривает только первый раз, потом (обновления) кушает быстрее.
Пожелания учту.
Отв: ещё один каталогизатор fb2
Сделал настраиваемой высоту строки в таблицах, ещё кое-что поправил.
Отв: ещё один каталогизатор fb2
пофиксил пару неприятных багов
Отв: ещё один каталогизатор fb2
Есть. Нажимать '/' или 'Ctrl+F'. Ищет по фамилиям, названиям, сериям.