Как самому создать inpx файл для библиотеки
Выкачал себе полный архив flibusta, выглядит он как множество .zip архивов, в каждом - множество .fb2 файлов с именами в виде чисел, кроме того, имеется .inpx (как я понимаю, это - индекс для MyHomeLib). Вопрос: как это хорошо организовать под онтопиком? Я вижу два варианта:
- Автоматически раскидать все эти книги, исходя из каких-нибудь их метаданных, в иерархию вида Автор/название.fb2. Собственно, для этого мне, наверное, будет достаточно иметь способ из .fb2 файла получать автора и название.
- Найти какой-нибудь каталогизатор, который съест все эти книги.
Сам я тяготею к первому варианту, потому что, на мой взгляд, каталогизатор мне ничего эксклюзивного не добавит, зато обойдусь без лишних сущностей. Но, может быть, i am doing it wrong? Пожалуйста, подскажите, как лучше поступить, и если первый вариант лучше, то как получить нужные данные из fb2. Заранее спасибо.
1. Traum Library организован именно так. Да, он меньше, но, скорее всего, всё что тебе надо там есть.
2. MyRuLib под Linux, но хз, совместим ли он на 100% с выкачанным тобой индексом.
Переконвертировать книги в plain text, а потом grep'ать.
Попробуй скормить все это дело Calibre.
3. Написать свой каталогизатор.
Ну и да, fb2 - это внезапно не только плейнтекст.
Не должнон. Разработчики этой шняги знают о подлой сущности питона, поэтому у них там очереди обработки с типами и приоритетами.
Это решение неэкономно относится к дисковому пространству. Я же уже говорил, что я для себя вообще-то жму тексты lzma. Точно также могут поступать и другие люди.
Найти какой-нибудь каталогизатор, который съест все эти книги
Вот тебе подсказка если захочешь первый вариант:
.inpx это zip архив в нем есть файлы .inp соответствующие zip архивам библиотеки.
Структура записи файла .inp такая:
AUTHOR;GENRE;TITLE;SERIES;SERNO;FILE;SIZE;LIBID;DEL;EXT;DATE;LANG;KEYWORDS;<CR><LF>
Разделитель полей записи (вместо ';') - <0x04>
Завершают запись символы <CR><LF> - <0x0D,0x0A>
Ага, понял. Пока вижу так: каким-то образом получить значения FILE, AUTHOR, TITLE (опционально - SERIES и SERNO), и дальше, вроде, всё просто. Но я себе хреново представляю, как парсить .inp файлы.
Во-первых, если так уж нужно сжатие, существует вполне себе официальная вещь под названием zsqlite3.
Во-вторых, греп в пожатых файлах искать не может, всё равно распаковывать надо. Если распаковывать пофайлово, искать в тридцати гигах можно вообще вечность. И перерасход ресурсов по сравнению со скулайтом будет в разы выше.
В-третьих, индивидуально сжимать текстики в 2016 году, дабы потом минутами ждать результатов поиска, могут только отборнейшие маргинальные ССЗБ.
Точно также могут поступать и другие люди.
Нет, других таких не будет уже.
border-radius ★ ( 02.05.16 12:40:02 )Последнее исправление: border-radius 02.05.16 12:44:04 (всего исправлений: 1)
Но я себе хреново представляю, как парсить .inp файлы…
Как любые другие файлы?
Зачем городить костыли если есть lzgrep/xzgrep (lzgrep - симлинк на xzgrep)?
xzgrep — a wrapper around a grep program that decompresses files as needed
Работает, кстати, не так уж и медленно.
Это для примера были обработаны 1406 *.txt.lzma файлов общим весом 127 Мб. saahriktu ★★★★★ ( 02.05.16 12:50:50 )Последнее исправление: saahriktu 02.05.16 12:52:22 (всего исправлений: 1)
Используешь свой любимый язык программирования и пишешь, проблем не вижу вообще.
А картинки в fb2 ты будешь в ascii переводить?
Использование базы данных для, внезапно, оптимального хранения данных - это костыли? Okay.
a wrapper around a grep program that decompresses files as needed
ЧТД. Враппер для пофайловой распаковки. Ну ни разу не костыли, ага.
real 0m21,217s
Это для примера были обработаны 1406 *.txt.lzma файлов общим весом 127 Мб.
Работает, кстати, не так уж и медленно.
Да-а-а-а-а. Поиск в 1406 файлах за 21 секунду - совсем не медленно. Мсье знаток разбазаривания вычислительных ресурсов, я погляжу.
Напомню, что у меня поиск в ≈20000 проиндексированных файлов происходит за 4 секунды. На в разы более слабом железе.
border-radius ★ ( 02.05.16 13:25:08 )Последнее исправление: border-radius 02.05.16 13:26:07 (всего исправлений: 1)
По сути, можно распарсить CSV-парсером
Картинки из fb2 можно вообще удалить
Нельзя. Иллюстрации во многих книгах нужны. В отличие от koi8.
Справочники для 100% конвертирования требуют ручного перевода. Вот тогда и можно руками нарисовать нужные схемы ascii art'ом. А если это просто иллюстрации, то они ненужны.
А если это просто иллюстрации, то они ненужны.
Их нужность опциональна только в чисто художественной литературе и то, бывают полезны. В остальных книгах они нужны.
Зачем? В мире вменяемого ПО всё и так отображается.
А на кой хрен конвертировать всё в плейнтекст?
На кой хрен юзать fbi и читать всё лессом?
На кой хрен, итить его крюком, в 2016 году сидеть во фреймбуферной консоли?!
Я, например, тоже для многих задач предпочитаю консольные приложения. Но при этом у меня нормальные иксы, современный браузер (Firefox 46) и тайловый менеджер для удобства раскидывания терминалов по экрану. И UTF-8 везде нормально работает, и шрифты адекватные. И животноводство сглаживание.
Или ты с VT100 эту страницу смотришь? Дык железо вроде 2011 года.
Потому, что так удобнее и органичнее. Всё plain text'ом, и интегрируется между собой screen'ом. Всё просто, быстро, цельно и удобно. А иксы и иксовый софт жрут тонны ресурсов, и при этом каждая софтина сама по себе.
Потому, что так удобнее и
органичнееограниченнее.
Fixed. Хотя ты даже не увидишь своим фреймбуфером, что именно было зачёркнуто.
А мир-то с восьмидесятых изменился, оглянись.
Ага, особенно с мультимедией.
Как ты копипастил сюда результаты time? Вангую, что перенабирал ручками - это выдали запятые вместо нормальных точек в качестве десятичных разделителей. И ты мне будешь рассказывать об удобстве?
А иксы и иксовый софт жрут тонны ресурсов
Нет. Просто нет. 4.2.
Ты ведь понятия не имеешь, что в своё время я вытворял в нативной консоли. Ну да ладно, продолжай захлёбываться чувством собственной исключительности.
10 лет назад я купил для дачи i486DX4
А я подобную древнятину заполучил на халяву. Но 10 лет назад у меня уже был вменяемый комп.
А можно было просто Damn Small Linux. У меня на четвёрке фурычил в дуалбуте с фридосом.
Но, я не стал расстраиваться, и познакомился поближе с консолью. И понеслось.
. И занесло куда-то совершенно не туда.
Вы, очевидно, никогда не работали со screen'ом, раз не знаете даже про встроенные в него средства копирования и вставки текста при помощи одной клавиатуры. C-a, C-[, переместить стрелками курсор к началу копируемого куска, Enter, переместить курсор в конец, Enter. Потом можно переключаться в другое окно, и вставлять через C-a, C-].
Всё идентично. time у меня выводит информацию именно так, символ в символ:
В иксах такого не добиться. Там сразу начинает выжираться проц более чем на 50%.
Ты ведь понятия не имеешь, что в своё время я вытворял в нативной консоли.
Но, про удобства screen'а Вы явно не знаете.
Хотя ты даже не увидишь своим фреймбуфером, что именно было зачёркнуто.
И с lynx'ом тоже Вы не знакомы, да:
В общем, в мире может меняться что угодно, но это никак не изменит того факта, что plain text остаётся самым удобным форматом для работы с информацией. Да и мультимедиа мне совсем не критична. Была бы консоль.
В иксах такого не добиться. Там сразу начинает выжираться проц более чем на 50%.
В иксах. В общем, консоль это хорошо, но если ты не на древнем компе работаешь, в чём смысл себя любимого ограничивать?
А мир-то с восьмидесятых изменился, оглянись.
Всё-таки прелесть свободно ПО, в частности линукса, что каждый при желании может чесать свои @@ как ему хочется =)
Гм. Видимо, здесь всё очень сильно зависит от того, какой софт работает и какие задачи выполняет.
Ну, как я уже писал, так может быть просто удобнее.
переместить стрелками курсор к началу копируемого куска
А если вывод команды не умещается на экран целиком?
time у меня выводит информацию именно так, символ в символ
Там сразу начинает выжираться проц более чем на 50%.
Ну бред же. Горячечный.
Но, про удобства screen'а Вы явно не знаете.
Мне хватало dvtm.
plain text остаётся самым удобным форматом для работы с информацией
Информация бывает не только текстовая. И нетекстовой информации в современном мире становится всё больше и больше.
Ну да, но ведь не демонстрировать это прилюдно и не пытаться научить это делать каждого встречного именно таким образом.
Ну да, но ведь не демонстрировать это прилюдно и не пытаться научить это делать каждого встречного именно таким образом.
The great thing about lynx is not browsing the web, it’s showing everyone online that you did.
Хорошая локаль. Не хотите - не юзайте.
Не бред, я прекрасно помню как работали иксы с иксовым софтом на Athlon64/512 Мб RAM. А, поскольку, современный софт только жирнеет, то ничего хорошего здесь ожидать и не приходится.
Так никто же и не отрицает, что бывает разная информация. На работу со всей информацией миллионов жизней не хватит. Так что, кому что. Кто графику обрабатывает, а кто - тексты.
А следует ли куда-то копировать простыни, причём именно через копирование и вставку?
А как выложить текст из файла на какой-нибудь общедоступный сервис типа Pastebin или GitHub Gist? Ну, есть пара пейстбинов с оптимизированным для этого апи, а как насчёт всех остальных?
Да, кстати, как ты капчу-то вводишь при необходимости?
Не бред, я прекрасно помню как работали иксы с иксовым софтом на Athlon64
В том-то и дело, что у меня именно Athlon64. Одноядерный десятилетней давности. Так что всё же смахивает на бред.
как ты капчу-то вводишь при необходимости?
Сохраняю картинку, смотрю картинку, ввожу текст с картинки.
Так что всё же смахивает на бред.
И KDE? Помню загружался с LiveCD в KDE3, и при открытии konqueror'а top показывал загрузку проца больше чем 60%. А так в FVWM'е с лёгким софтом, конечно, должно жрать меньше.
saahriktu ★★★★★ ( 02.05.16 20:33:32 )Последнее исправление: saahriktu 02.05.16 20:35:16 (всего исправлений: 2)
Если автор еще здесь, слушай мою историю успеха по решению ровно этой же задачи.
Я скачал торрент и положил весь контент в Google Drive (да, у меня там пара Tb). Индексируется только description, а не вся книга, но для поиска вполне достаточно + есть custom properties, из которых можно организовать выборки по автору или серии.
вот уж где ультра-убер наркомания
phoenix ★★★★ ( 02.05.16 20:37:04 )Последнее исправление: phoenix 02.05.16 20:37:21 (всего исправлений: 1)
MyRuLib сканирует эти zip файлы и строит свой индекс (sqlite3)
Отлично работает уже не первый год
Лютое, бешеное ретроградство.
А ещё есть электронная почта с возможностью прикладывания файлов.
Ну, IFTTT-то с lynx-а неюзабелен, поэтому сомневаюсь, что приложенные файлы уходят дальше одного конкретного адресата.
Сохраняю картинку, смотрю картинку, ввожу текст с картинки.
У - Удобство. *facepalm*
Без понятия. А зачем вообще юзать кеды на таком-то железе?
Помню загружался с LiveCD в KDE3, и при открытии konqueror'а top показывал загрузку проца больше чем 60%
Здесь на этот показатель повлияли несколько факторов. В первую очередь то, что это LiveCD. Как автор нескольких LiveCD, могу сказать, что загрузка чего-либо со squashfs - уже сама по себе ресурсоёмкая операция. Во вторую очередь сам Konqueror. Слишком упорот и примитивен для браузера, слишком сложен для файлового менеджера. Именно в момент загрузки он мог на то время вешать весь проц. Но это как раз эталонный пример, как не надо писать гуёвый софт. Но он далеко не весь такой, уверяю.
А так в FVWM'е с лёгким софтом, конечно, должно жрать меньше.
У меня лично дома на компе с этим самым атлоном патченный DWM, самый тяжёлый софт - это браузер. Но ведь это всё-таки браузер, а не чёрти-что.
Всё-таки советую немножко приоткрыть дверцу бункера, выглянуть наружу и посмотреть, что там происходит в окружающем мире. Между кедами и FVWM существует уйма промежуточных вариантов, которые на железе 2006 года, а 2011 и подавно, будут просто летать. При этом консоль никто не отбирает, но многие вещи становятся в разы удобнее и эффективнее.
Организация библиотеки на ПК и Электронной книге (читалке)
То есть "библиотека" - упорядоченное отображение книг (каталог).
1. MyHomeLib - это программа для управления коллекциями электронных книг в любых форматах. Программа абсолютно бесплатна, ее исходные коды открыты.
Основные возможности:
- удобный просмотр коллекций книг в виде древовидного списка с группировкой по автору/серии
- возможность работы со списками книг в табличном режиме с сортировкой по любому столбцу
- отображение обложки и аннотации при просмотре списка книг
- чтение эл. книг в форматах fb2, html, doc, txt без установки дополнительных программ (используется AlReader 2)
- неограниченное количество пользовательских коллекций
- автоматический импорт fb2 из папок и zip-архивов
- не-fb2 коллекции, возможность работать с любыми типами файлов.
- полноценна поддержка формата FBD (импорт, конвертация, редактирование)
- быстрый поиск по автору, названию книги
- полный поиск по автору, названию, серии, жанру и т.п.
- обмен пользовательскими коллекциями с помощью файлов inpx
- настраиваемые шаблоны имен папок и файлов при экспорте книг из коллекций
- экспорт fb2-книг в формате fb2.zip, txt, lrf (используется конвертор fb2lrf)
- быстрое подключение конвертеров e-pub и pdf
- импорт/экспорт пользовательских коллекций в формате xml и inpx
- подключение пользовательских скриптов для обработки книг (создание сборников, конвертация)
- редактируемые индивидуальные списки жанров любого уровня вложенности
- рейтинги и отзывы о книгах, отметки о прочтении
- работа с группами книг (Избранное, К прочтению и т.п.)
- возможность "в два клика" подключать другие коллекции (Библиотека Траума и др.).
- менеджер закачек
- загрузка книг в фоновом режиме
- автоматическое обновление on-line коллекций
- загрузка рецензий с сайта.
2. MyRuLib - свободная (бесплатная и открытая) программа для организации домашней библиотеки (коллекции) электронных книг формата fb2.
Создана как кроссплатформенная альтернатива программам MyHomeLib и LibRusLib, работает в Виндах, Линуксе и Маке.
Для Linux x64 необходимо установить 32-разрядные библиотеки.
Для Ubuntu: sudo apt-get install ia32-libs
Автор - alnet
Проверено - работает на Вин 7-8.1.
3. Libro - менеджер библиотеки/конвертер файлов в формате fb2 и epub
Работает под Microsoft Windows, MacOS, Linux.
Для конвертации файлов в форматы azw3, mobi, epub, kepub и отправки по email (Send to Kindle) необходимо установить программу fb2converter и сделать соответствующие настройки Libro, как описано в документации. Рекомендуется использовать fb2converter версии 1.17 и выше.
Основные возможности:
Управление библиотекой ваших книг в форматах fb2 и epub
Конвертация книг в форматы azw3, mobi, epub, kepub (требуется установка fb2converter)
Полнотекстовый поиск по библиотеке с использованием языка поисковых запросов
Встроенный редактор метаданных книг - название, автор, обложка и т.п.
Отправка книг одной кнопкой на устройство чтения через USB, по электронной почте (например, через сервис Amazon Send to Kindle)
Два режима работы - менеджера библиотеки и конвертера (в качестве GUI к fb2converter)
Войти
Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal
What is inpx file? How to open inpx files? Коллизия прав на файловое расширение или ебукнутость.
В Рунете бытует мнение, что файлы с расширением *.inpx - это сугубо файлы-описания коллекций книг, каждый из которых представляет из себя "зипованый" текстовый файл *.inp .
К примеру: MyHomeLib. Официальный форум → Утилиты → INPX (Описание формата. Инструкции. Инструменты) →
→ Как создать inpx-файл своей коллекции :
Собственно, вопросов нет ни к MyHomeLib, ни к freeLib - free soft. Ну нравятся разработчикам расширения *.inp да *.inpx - почему не использовать в свободном творчестве?
Это ж не из-за денег..
Другое дело, когда имеет место бизнес.
Свободные электронные библиотеки потихоньку начинают превращаться в магазины.
IPX file extension - PTV Vissim network file.
The INPX file extension is associated with the PTV Vissim a software for Microsoft Windows that allows users to simulating and controlling daily road traffic. The .inpx file stores various data used for internal purposes of the PTV Vissim.
Впрочем, посетив и Википедию, любой может понять, что речь не о стартапе и никому неведомой проге:
PTV Vissim is a microscopic multi-modal traffic flow simulation software package developed by PTV Planung Transport Verkehr AG in Karlsruhe, Germany. The name is derived from "Verkehr In Städten - SIMulationsmodell" (German for "Traffic in cities - simulation model"). PTV Vissim was first developed in 1992 and is today a global market leader.
Специалисты нам подтвердят позиции PTV Planung Transport Verkehr AG на рынке, к примеру:
Теория транспортных потоков уже давно располагает нужным инструментарием в области моделирования и «изобретать велосипед» здесь нет никакого смысла.
Нужно лишь правильно использовать доступные ресурсы .
Имитационное моделирование. PTV VISSIM – программа, развивающаяся уже более 30 лет. Конечно же, на рынке присутствуют и другие подобные средства моделирования, однако функциональности, точности и комплексному подходу VISSIM`а нет равных.
Кто пожелает, - тот может совершить микроэкскурс на сайт этой корпорации и понять, что речь не о мимолетности, а об одном из ключевых файлов ПО, подтягиваимого разработчиками к Industry Foundation Class format / all relevant CAD software tools:
Scenario management: Create planning alternatives quickly and conveniently.
Scenarios can be duplicated, deleted or exported as *.inpx files and the sequence of changes to scenarios can be tracked and edited in the "Project structure" dialogue window, while in the "Project explorer" you can view the complete structure of an individual project - including all scenarios and their changes, as well as all changes applied within the project.
PTV Viswalk: Importing BIM data.
BIM (Building Information Modelling) data can now be imported to PTV Viswalk when modelling buildings for pedestrian simulations. This model records, combines and networks all relevant building data - including areas for walking, walls, obstacles and steps - in order to visualise a virtual building.
The relevant content of *.ifc files can now be converted into *.inpx files for PTV Viswalk using the IFC2INPX module.
Или из проспекта WHAT IS NEW IN PTV VISSIM 7/VISWALK 8 (PDF):
page 6.
The base network is kept in an *.inpx file with a reference to a *.vissimpdb project database file with the same name in the same directory.
In the project structure dialog, you can duplicate and delete scenarios, export a scenario to a normal *.inpx file (not under scenario management), check and change the sequence of modifications of each scenario and even construct new scenarios from the base network and freely selected modifications.
page 16.
UDAs (User-Defined Attributes) are treated like all other attributes, i.e. their values are stored in the *.inpx file and they can be accessed through list windows, the quick view sidebar and the COM interface, and they can be used for charts, color schemes and labels.
page 20.
BIM is short for Building Information Model and stands for an approach to hold all relevant data of a building in one model and database.
This includes of course areas for walking, walls and other obstacles, stairs etc. – data which is essential input for PTV Viswalk.
One implementation – and the open implementation – of the BIM principle is the Industry Foundation Class.
BIM data files of the Industry Foundation Class format have the file extension .ifc.
IFC files can be exported from all relevant CAD software tools.
PTV Viswalk relevant content of these can be converted with the IFC2INPX module into PTV Viswalk *.inpx files.
The module can be called from the PTV Vissim GUI (File/Import/BIM converter), however it is a separate programme (comparable to VisVAP).
The converter creates a new *.inpx file which is meant to be imported (resp. “read additionally”) into an existing
PTV Viswalk model.
Или из ещё более древнего WHAT IS NEW IN PTV VISSIM 7 (PDF):
Database Connection String (page 7)
The database connection string is stored encrypted in the *.inpx file. It can be changed through the dialog or with the new COM method Vissim.Evaluation.SetConnectionString(), which encrypts the passed string automatically.
Ну и т.д.
Можно и до древнейших времён эволюцию *.inpx отследить.
Полагаю, что первородность прав (на это расширение) глобального игрока софтверного рынка PTV Planung Transport Verkehr AG неоспорима.
А вот законность прав на использование файлов с расширения INPX в бизнесе (пусть и в "своеобразной" трактовке) ныне коммерческими книжными интернет-лабазами, бывшими когда-то электронными библиотеками, вызывает вопросы.
Ибо то, что нормально для свободного доступа, порой, неприменимо в мире наживы.
Программа для управления коллекциями электронных книг в любых форматах.
Программа абсолютно бесплатна, ее исходные коды открыты.
Обновления коллекций:
WildGoblin
С хабами и похожим сайтами сложности с получением прямых ссылок на файл, а дорабатывать MHL для правильной обработки редиректов - лень.
Про InpxCreator ничего сказать не могу, сам другим пользуюсь.
Добавлено:
kvark484kvark484
Там особых изменений не было, в основном ошибки правили.
DemSaR
Спасибо!
Скрипты для генерации обновлений и INPX файлов.
Из названия файлов должно быть понятно что и для чего.
1. в файле config подставьте свои логин/пароль для базы. Там же в файле список папок для работы, их нужно тоже создать.
2. Настройки генерации всех файлов находятся в соответствующих php файлах в переменных $End или $Start
3. Ежедневные обновления хранятся в файлах extra_*.zip и extra_*.info. По умолчанию MHL ищет их в папке update/
4. Файлы для создания коллекций с нуля *.inpx и одноименный *.info должны находится в папке download/inpx/ В самом inpx файле должен присутствовать файл collection.info с параметрами подключения к библиотеке для скачивания книг.
5. Файлы кумулятивного обновления коллекций полностью совпадает с файлами из п.4 но должны находится в папке update/ и иметь расширение *.zip и *.info Используется для уменьшения размера ежедневных обновлений. Т.е. если MHL находит этот файл, то производится резервное копирование пользовательских данных, полная очистка коллекции, создание коллекции с нуля (только из файла zip а не inpx) и восстановление данных. После такого обновления желательно перенастроить параметры из п.2
ЗЫ. Выложу все это на всякий случай, вдруг все надоест
Цитата:
А можно ли самому на основе баз SQL либрусека создать файл INPX для всей библиотеки на данный момент?
Где там? там есть ссылка на переход Гитхам.
Типа проект, и?
Программа то гед? ее же там нет.
Там есть исходный код но я не программист.
Добавлено:
[q]Скрипты для генерации обновлений и INPX файлов.
Из названия файлов должно быть понятно что и для чего.
1. в файле config подставьте свои логин/пароль для базы. Там же в файле список папок для работы, их нужно тоже создать.
2. Настройки генерации всех файлов находятся в соответствующих php файлах в переменных $End или $Start
3. Ежедневные обновления хранятся в файлах extra_*.zip и extra_*.info. По умолчанию MHL ищет их в папке update/
4. Файлы для создания коллекций с нуля *.inpx и одноименный *.info должны находится в папке download/inpx/ В самом inpx файле должен присутствовать файл collection.info с параметрами подключения к библиотеке для скачивания книг.
5. Файлы кумулятивного обновления коллекций полностью совпадает с файлами из п.4 но должны находится в папке update/ и иметь расширение *.zip и *.info Используется для уменьшения размера ежедневных обновлений. Т.е. если MHL находит этот файл, то производится резервное копирование пользовательских данных, полная очистка коллекции, создание коллекции с нуля (только из файла zip а не inpx) и восстановление данных. После такого обновления желательно перенастроить параметры из п.2
Что за скрипт, чем зхапускается где, на какой платформе.
Типа все понимают, а я тут один в алюминиевых трусах сижу.
Читайте также: