Skip to content

aligusnet/books

Repository files navigation

This is catalogizer for epub library. There is detailed description in russian below.
Wiki of the project: https://github.com/ialexander/books/wiki

Requitments:
* lxml: easy_install lxml
* Snowball stemming for Python: http://snowball.tartarus.org/download.php. Unzip PyStemmer-1.1.0.tar.gz and install: python setup.py build && python setup.py install. For details see README of the library.

Important Notice for Mac OS X with Xcode 4. Xcode 4 are no longer support PPC arch, so disable PPC: export ARCHFLAGS='-arch i386 -arch x86_64'. Otherwise you'll get compuiler error like this: 'fatal error: error writing to -: Broken pipe'.

Brief description:

* catalogizer.pu source_dir target_dir
Catalogize library from source_dir to target_dir.

* index.py source_dir
Create inverted index.

* search.py source_dir keywords
Search books by inverted index

*epub.by
Parser epub files.

* rpcserver.py path/to/lib
Start rpc-server. path/to/lib - path to indexed lib. 

*rpcclient.py
simple, test client for rpcserver.py

-------------------------------------------

Каталогизация электронной библиотеки в формате epub и информационный поиск в ней.
Для более подробной информации смотрите wiki проекта: https://github.com/ialexander/books/wiki

Использование и описание:

Зависимости:
* Библиотека lxml. Если еще не установлена, выполните команду: $ easy_install lxml
* Snowball stemming for Python: http://snowball.tartarus.org/download.php. Распакуйте PyStemmer-1.1.0.tar.gz и установите командами: python setup.py build && python setup.py install. Подробности смотрите в файде README библиотеки.

Важное замечание для Mac OS X с установленным Xcode 4. Т.к. Xcode 4 больше не поддерживает архитектуру PPC, отключите ее командой: export ARCHFLAGS='-arch i386 -arch x86_64'. Иначе получите ошибку компиляции вроде этой: 'fatal error: error writing to -: Broken pipe'.

* catalogizer.py source_dir target_dir
Обходит все книги epub в каталоге и подкаталогах epub и вытаскивает из метаданных название книги и имя автора. Размещает книги в target_dir/первая буква фамилии автора/полное имя автора/название книги.epub

* index.py source_dir
Создает поисковый индекс по авторам и названиям книг epub в source_dir. Автора и название берет из метаданных книги. В дальнейшем, наверное, добавлю в индекс описание книги из метаданных и язык.

* search.py source_dir ключевые слова
Ищет с использованием предварительно созданного индекса index.py.

* epub.py
Парсер книг формата epub. На данный момент считывает автора, название и язык произведения. 

* rpcserver.py path/to/lib
В аргументе указывается путь к директории с проиндексированной библиотекой. Для запуска используются параметры из config.py: RpcServerHost - имя хоста и RpcSeverPort - номер порта. Подробнее о предназначении и использовании rpcserver см. web/README

*rpcclient.py
Простой, тестовый клиент для rpcserver.py. Для подключения к серверу использует параметры config.py. 

About

This is catalogizer for epub library.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages