Pull to refresh

XpressLib — любителям читать, посвящается!

Reading time2 min
Views2.3K
imageПо мотивам этого топика. Обещал — сделал.
XpressLib — приложение для symbian 9.4, которое предназначено для поиска и бесплатной загрузки книг в формате fb2 с сайта flibusta.net. Программа использует специально написанный для нее сервер, который содержит ежедневно пополняемый каталог из более чем 30 тысяч авторов и более чем 130 тысяч книг. Экономия трафика максимальна, так как при обмене с сервером передается и принимается минимальное количество информации. Найдя нужную книгу, ее тут же можно загрузить. Книги загружаются, сжатые в zip, и сохраняются в папку Text на карте памяти, при этой загруженные файлы имею название на русском языке, содержащее имя автора и название книги.


Основные фишки программы


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

Требования


Для работы программы необходим python 2.0 или выше, установленный из пункта меню «Обновление ПО» или из Ovi Store, либо python 1.9.7 (при этом программу и python нужно устанавливать на один и тот же диск. скачать python 1.9.7). После установки python желательно перезагрузить смартфон.
Для чтения книг, рекомендую лучшую, по моему мнению, программу ZXReader, которая написана нашим соотечественником.

image

Как это все работает


Как уже было сказано выше, для работы программы был написан сервер, который работает следующим образом:
Раз в сутки, в 3 часа ночи, с проекта MyRuLib тянется свежая база данных в формате sqlite3. Далее хитрый скрипт кромсает ее вдоль и поперек, для оптимизации работы с ней же. Это позволило уменьшить в десятки раз время поиска по некоторым запросам.
Сам сервер написан на python с использованием фреймворка web.py (можно было прекрасно обойтись и без него, но лень иногда берет верх). Ответы на запросы смартфону отдаются в формате xml.
Сама же программа написана на языке программирования python. Реализация заняла у меня пару вечеров неторопливого кодинга. Практически весь UI писался вручную, используя библиотеки appuifw и graphics. Общение с сетью происходит стандартными средствами модуля urllib.
О программировании на python для Symbian я писал в блоге Python for s60.

Благодарности


Прежде всего хочу поблагодарить автора проекта MyRuLib, теперь уже хабраюзера lintest, за работу над поддержкой базы данных книг. Так же, хабраюзера Tcapb за дизайн к этой и другим моим программам. И конечно же благодарности создателям и людям, которые наполняют контентом проект flibusta.net

И наконец, скачать!


Программа абсолютно бесплатна, и скачать ее можно с офф. сайта.
P.S. Не забывайте про кнопку «поддержи проект» в программе. Деньги, полученные с донейтов идут на оплату сервера, кофе и плюшки :)
P.P.S. Программа находится в стадии beta, поэтому на глюки и недоработки прошу сильно не ругать.
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
Total votes 64: ↑59 and ↓5+54
Comments66

Articles