Вы здесьПрограмма для извлечения и замены иллюстраций в .fb2-книгах
Опубликовано чт, 14/10/2010 - 03:45 пользователем Рыжий Тигра
(зеркала: http://www.flibusta.net/node/83100 и http://www.the-ebook.org/forum/viewtopic.php?t=15947) Дарю обществу: fb2bin - извлекалка/заменялка двоичных вложений (картинок, MIDI-файлов и прочего) в .fb2-файлах. Возможности:
В ближайших планах - обработка вложений не сплошная, а списком; сличение вложений с файлами; обработка вложений .bat-файлами или иными скриптами. Цитата: fb2bin - список/извлечение замена двоичных вложений в FB2-файлах, (версия, дата) Пример применения - для замены прозрачных картинок в FB2-книге на обычные: Цитата: @echo off Ну и, само собой, исходники тоже лежат - вдруг кому-то пригодится. Кто найдёт ошибку или предложит доработку - делитесь! :-) 18/10/2010: выложена версия 1.1. Исправлена пара мелких, но неприятных ошибок. Подправлен интерфейс, улучшен вид выходного FB2-документа (аккуратнее сделаны отступы при изменяемых полях), заменён движок на более компактный и шустрый - программа "похудела" в тридцать раз, с 600 до 20 килобайт - не пугайтесь, это не вирус! :-) Как обычно - с исходниками. 19/10/2010: версия 1.2. Добавлена поддержка неюникодных кодировок (в т.ч. windows-1251) - оказывается, XML-движок их не поддерживал. Теперь поддерживает - я его переделал. Правда, без перекодировки - изменённый файл сохраняется в той же кодировке, что и исходный. Извиняюсь за невнимательность, скачавших предыдущие версии прошу скачать свежую. 28/10/2010: версии 1.3 (к вечеру уже устарела :-( ) и 1.4. Исправлена мелкая ошибка с порядком разбора тэгов; добавлена опция "не проверять валидность description'а FB2-документа" при просмотре списка вложений и их выгрузке; добавлена возможность выборочной обработки вложений с целью интеграции с Far Manager'ом; добавлен режим полного подавления вывода сообщений. 02/11/2010 - версия 1.5
|
Вход на сайтПоиск по блогам и форумамUser menuПоследние комментарии
NickNem RE:Подайте бедному копеечку на книжку с литреса... 2 часа
Aleks_Sim RE:Ирина Александровна Велембовская - Немцы 19 часов Саша из Киева RE:Кто сможет раздобыть и оцифровать нужные мне книги? 2 дня Саша из Киева RE:Избранное 6 дней Alligatoreader RE:Багрепорт - 2 1 неделя fedor.de RE:Отображение страницы Librusek 1 неделя Isais RE:Чиполь Сергеевич Наглецов - Огненный дракон [СИ] 1 неделя kopak RE:Таинственная личность админа Флибусты 1 неделя blahblahblah2024 RE:Беженцы с Флибусты 1 неделя sem14 RE:Что читать о блокаде Ленинграда. Подборка книг 2 недели sem14 RE:Михаил Юрьевич Берг - Андеграунд. Итоги. Ревизия_5 3 недели TaKir RE:Валерия Сергеевна Черепенчук А. Н. Николаева - Мифы... 3 недели Oleg V.Cat RE:B343695 Александр. Книга 1 3 недели Isais RE:Калибрятина/Самиздатина 4 недели md2k15 RE:Относительно Вархаммер 40 000 1 месяц tvnic RE:"Коллектив авторов" 1 месяц SergL197 RE:Регистрация 1 месяц ejik.v RE:Viva Stiver! 1 месяц Впечатления о книгах
lukmak про Сочинения Иосифа Бродского в 7 томах
29 11 Бродский - гений. А кто его не понимает - что ж... Он непрост. Но, ребята, если вы его не понимаете - может, это ваша проблема?.. И пиндосы тут ни при чём.
nik_ol про Донцова: Амур с гранатой (Иронический детектив, Детективы: прочее)
27 11 Конечно, я рада, что книги Донцовой выходят и выходят, но неужели, если она сама их пишет, то не помнит, что «старичок» был не Коробков, а Гри, её первый муж, до Ивана в этой серии?! Или всё-таки литературные негры клепают?! Оценка: неплохо
neletay про Котов: Ценитель [СИ] (Городское фэнтези, Самиздат, сетевая литература, Приключения)
27 11 Прочитала только несколько первых глав - и уже очень, очень нравится. Нравится все - сюжет, стиль, язык, ГГ, а также автор, который за всем этим видится. С удовольствием читаю дальше, надеюсь не разочароваться.
Lan2292 про Ермаков: Май, весна и апокалипсис. Книга 1 (Боевая фантастика, ЛитРПГ, Самиздат, сетевая литература)
27 11 Так себе чтиво, но не скучно. Оценка: неплохо
Chernovol про Коровин: После «Украины» (Политика, Публицистика)
25 11 Интересно, такие книги кто-то покупает или их бесплатно раздают. Оценка: нечитаемо
sem14 про Лазарис: Белая ворона (Историческая проза)
25 11 Леонид Гомберг 24 июля 2007 Роман известного в Израиле прозаика, поэта и переводчика Владимира Лазариса «Белая ворона» (Тель-Авив: Ладо, 2003) в этом году был включен в «лонг-лист» популярной премии «Букер». И это ……… Оценка: отлично!
decim про Осне Сейерстад
25 11 Попробовала бы Сурайя-реис не подать в суд! Муж бы убил. "Для контекста добавлю, что после публикации книги семья героя подала на Сейерстад в суд за клевету, но после апелляции писательница была признана невиновной, а через ………
tvv про Кич: Большой дом [СИ] (Ужасы, Мистика, Фанфик, Юмористическое фэнтези)
24 11 Совершенно замечательное "Оккультное Простоквашино".
decim про Галинакс: Женщина-рыцарь. Самые необычные истории Средневековья (Исторические приключения, История)
24 11 А вот это уже лучше. Подлинник на сей раз не знаю, а компиляция - явно автор чем-то вдохновлялся, но не ссылается на - получилась годная, и хорошо подобраны иллюстрации. Неплохо. Оценка: неплохо
udrees про Быкова: Школьники «ленивой мамы» (Педагогика, Детская психология)
24 11 Очередная книга про воспитание ребенка, теперь уже в школе. Советы в целом ценные, но явно объем книги их все не может вместить, поэтому думаю можно воспринимать текст как информацию к размышлению, а дальше самим продумывать ……… Оценка: хорошо
udrees про Баковец: Обычная жизнь обычного японца (Фэнтези, Самиздат, сетевая литература)
24 11 Угарная книга про приключения попаданца, оказавшегося в теле японского задрота-клерка. Автор видимо в теме про японское общество, имеется множество описаний нюансов про офисную жизнь, иерархию, привычки японцев, домашний быт. ……… Оценка: хорошо
udrees про Кузичева: Чехов. Жизнь «отдельного человека» (Биографии и Мемуары)
24 11 Довольно большая по объему биография известного писателя. Лично мне показалось, что ее писал театрал, поскольку большая часть книги посвящена театру, постановкам пьес Чехова в театре, реакции публики, трудностям постановки, ……… Оценка: хорошо |
Комментарии
Отв: Программа для извлечения и замены иллюстраций в ...
Вот почему тебя давно не видно было!)).
скачал, посмотрю. Оболочку делать будешь? Если хочешь, чтобы программа использовалась обществом - нужно, имхо
Отв: Программа для извлечения и замены иллюстраций в ...
А вот где бы GUI'ёвая оболочка не помешала - это чтобы можно было каждую картинку в отдельности заменять и каждый раз смотреть - что получилось; но тут как раз проще будет не на сях писать, а доваять скриптец к тому же FBE - а я в ём не силён... :-(
Отв: Программа для извлечения и замены иллюстраций в ...
Насчёт такого скрипта уже мысль такая была, так, что всё возможно ))
Отв: Программа для извлечения и замены иллюстраций в ...
Заманался воевать с несколькими глюками из libxml2, переделываю на MiniXML - но у него тоже свои мухи. :-(
Если кто ещё знает какие маленькие и послушные сишные опен-сорсные библиотеки для возни с XML - делитесь!
Upd: можно не искать - Mini-XML (http://www.minixml.org/) годится; с мухами справился и подпатчил обработку entities'ов на свой вкус - за вечер; полдесятка использованных функций добавили к объёму готового exe'шника всего пару килобайт; короче - рекомендую! :-)
Отв: Программа для извлечения и замены иллюстраций в ...
Выложил свежую версию - 1.1.
Исправлена пара мелких, но неприятных ошибок. Подправлен интерфейс, улучшен вид выходного FB2-документа (аккуратнее сделаны отступы при изменяемых полях), заменён движок на более компактный и шустрый - программа "похудела" в тридцать раз, с 600 до 20 килобайт - не пугайтесь, это не вирус! :-)
Отв: Программа для извлечения и замены иллюстраций в ...
Версия 1.2.
Отв: Программа для извлечения и замены иллюстраций в ...
полезная утилита, спасибо.
а нельзя ли добавить опциональную возможность извлечения отдельного заданного файла?
это позволило бы более тесно интегрировать утилиту с Far manager
Отв: Программа для извлечения и замены иллюстраций в ...
Отв: Программа для извлечения и замены иллюстраций в ...
Отв: Программа для извлечения и замены иллюстраций в ...
Отв: Программа для извлечения и замены иллюстраций в ...
предназначено для Far2
сохранить в Plugins\Multiarc\Formats\custom_user.ini (добавить в существующий или создать новый)
при замене вложения создается новый файл, имя которого образуется добавлением постфикса ".fb2"
если желательно, чтобы замена вложения происходила без создания нового файла, надо убрать этот постфикс из строки Add=
Отв: Программа для извлечения и замены иллюстраций в ...
Upd: Нашёл: именно DebugBreak() и подосрал - fb2bin на нём падал, почему-то не перехватываясь отладчиком. :-(
Из нехорошестей - в stdout после списка попадает строка диагностики. Ща исправлю.
Отв: Программа для извлечения и замены иллюстраций в ...
Аддон к MultiArc для TotalCommander-a:
Отв: Программа для извлечения и замены иллюстраций в ...
Отв: Программа для извлечения и замены иллюстраций в ...
Подновил аддон к TotalCommander-у:
Это можно...
Инструкция:
1. Добавляем вышеприведённую секцию в Multiarc.ini, исправив в строке Archiver= путь к fb2bin.exe на свой.
2. В Тотале в окне Настройка на вкладке Архиваторы жмём кнопку Настройка архиваторных плагинов. В открывшемся окне в поле Файлы с расширением: вбиваем расширение fb2, а затем в списке плагинов выбираем multiarc.wcx. После этого, если не хотим чтобы у fb2-файлов были дефолтные архивные иконки и хотим входить в FB2-файл по Ctrl+PgDn, а не по даббл-клику, в поле над списком плагинов (слева от кнопки Обзор) число перед путём к multiarc.wcx меняем на 287.
Отв: Программа для извлечения и замены иллюстраций в ...
Под линухом - несобирается.
Почистил, что мог, конечно... Задефайнил ещё кучку (обратный слеш, например).
Но хочет, видимо, struct _stat - что бы это могло быть?
Нельзя ли к POSIX привести?
libmxml, вроде, подхватился... не патченный, понятно - из репы.
патчить либу - плохо :/
Оно ж, вроде, консольное - можно вполне в POSIX уложиться.
Ну, в ifdef/endif можно экстрасы добавить для учёта, скажем, файловой системы "с буквами дисков"...
Отв: Программа для извлечения и замены иллюстраций в ...
Отв: Программа для извлечения и замены иллюстраций в ...
Пилять! №;%:?*( коннективити любимого либрусека об коленку :-E
Хм-хм... там, похоже, не доводить, а капитально так редезайнить надо.
Во-первых, какая версия сорцов нынче считается кошерной? А то я ухватил, "что с краю лежало"...
Во-вторых, нехудо было бы какой-нибудь Makefile сгенерить (ЕМНИМС, виндовые IDE это позволяли. лет 10 тому как), который уже можно подправить.
В-третьих, опенсурс там или нет, а патченая либа - криво. потому как сорец, считай, придётся дистрибутить вместе с определённой версией либы, к которой, собссно, сделан патч. что есть запредельная кривизна с т.з. мейнтенанса. Лучше д
елать враппер поверх штатной либы.
В-четвёртых, подпил кода под специфику кодировки - тоже идея не фонтан. Есть iconv - вполне себе рабочая феня, все кодировки знает. Я бы вообще всё форсил в юникод - неужто где-то его ещё не переваривают?..
На счёт POSIX - есть рулёзная книжка :)
(книжку скачал, переложил на onlinedisk (пароль - мой ник, от греха...), но на мой вкус какчество - то ещё)
М. И. Беляков, Ю. И. Рабовер, А. Л. Фридман. Мобильная операционная система
Я тут ещё неделю на больничном - могу помочь :)
Отв: Программа для извлечения и замены иллюстраций в ...
Отв: Программа для извлечения и замены иллюстраций в ...
Отв: Программа для извлечения и замены иллюстраций в ...
Да! Ещё один момент - в POSIX-оболочках (типа линухового bash) глоббинг всяких метасимволов командной строки (типа *) выполняется оболочкой, а не программой!
Т.е. для того, чтобы обработать вызов вида
myProg all*such*files.?????
, в ДОСе/форточках надо самому выполнить поиск нужных файлов, а в POSIX - просто пройтись по argv.Такие фени надо оформлять в платформенно-специфичные секции в ifdef/endif
Отв: Программа для извлечения и замены иллюстраций в ...
Отв: Программа для извлечения и замены иллюстраций в ...
Выложил версию 1.4 (см. историю изменений в стартовом посте), привёл описание в соответствие с реальностью. :)
Отв: Программа для извлечения и замены иллюстраций в ...
Тигра, а поясни мне темному в двух словах, пожалуйста, какая основная идея этой программы.
Ведь то, что перечислено в самом начале, т.е. проверка, извлечение и замена делается в FB Editor'e и вполне удовлетворительно, вроде как. Или я чего-то не понял?
Отв: Программа для извлечения и замены иллюстраций в ...
У меня ручная замена полусотни картинок занимает около часа. А если нужно посмотреть, что получилось, по результатам внести изменения в картинки и снова заменять и пробовать, то это уже даже не напрягает, а конкретно раздражает.
Другое дело - автоматическая массовая замена. Но такого скрипта я не нашёл - есть только выгрузка оптом.
И наконец, если нужно забабахать обработку картинок "не прикладая рук" (к примеру, для конвертирования FB2 в что-нибудь ещё или под какой-то специфический девайс, да ещё и на удалённом сервисе) - то FBE2 вообще не годится никаким боком...
Отв: Программа для извлечения и замены иллюстраций в ...
Или у нас разные FBE или одно из двух.
Для массовой обработки есть скрипты "Сохранить объекты" и "Удалить все вложения". При этом сами картинки из fb2 удаляются, а ссылки-то остаются.
Далее обрабатываем картинки любыми средствами, хоть прикладая руки, хоть нет.
А дальше через обычную "скрепочку" (прикрепить бинарный файл) за один раз выбираем ВСЕ картинки и вкладываем назад. Всё. Остается только заново указать обложку. Ну и вызвать скрипт "Обновление картинок", если нужно.
Таким образом у меня выгрузка, пакетная обработка и обратная загрузка сотни и больше картинок занимает несколько минут.
Ничего особенно трахоемного не нахожу.
Отв: Программа для извлечения и замены иллюстраций в ...
А если над набором из пары десятков книг?
А над "пачкой" либрусечного "обновления"?
Отв: Программа для извлечения и замены иллюстраций в ...
А, дошло. Сразу для кучи книг. Ну если только для этого.
Хотя мне трудно представить, что можно захотеть сделать одним чохом с картинками со всей "пачки" либрусечного "обновления".
Отв: Программа для извлечения и замены иллюстраций в ...
Да хотя бы отоптимайзить PNGшки!
Через тот же optipng -full
Отв: Программа для извлечения и замены иллюстраций в ...
Отв: Программа для извлечения и замены иллюстраций в ...
Мне тоже кажется, что ни к чему.
Ну допустим даже вытащишь картинки из кучи файлов. А обратно запихивать куда будешь?!! Всё ж перезабудешь!
Или по принципу «кидай все картинки во все файлы сразу?»
IMHO,
эта утилита больше для
пингвинов-линуксоидов, которые не хотят юзать FBE, но при этом хотят работать с картинками в FB2.(файл FB2 это обычный текстовый файл с закодированными картинками и его можно править в любом текстовом редакторе, затруднение было только в картинках)
Отв: Программа для извлечения и замены иллюстраций в ...
Короче: не нужно - не юзай, юзаешь - не обзывай ненужным. :-)
Отв: Программа для извлечения и замены иллюстраций в ...
Нууу... тоже способ. Если б ты про "скрепочку" сказал три недели назад, а "сохранить вложения" и "удалить вложения" позволяли бы выбирать, что именно сохранить и куда, а FBE2 работал бы под любым браузером и под любой ОС и принимал бы командную строку - может, я б и не делал fb2bin (хотя и не факт: всё ж приятнее запускать 20-килобайтную прогу, чем ждать десяток минут. пока FBE2 откроет восьмимеговый файл с тремя сотнями картинок). А сейчас уже поздно - люди пользуются... :-)
Отв: Программа для извлечения и замены иллюстраций в ...
я там выше накидал комментов и в личку нагадил :)
Отв: Программа для извлечения и замены иллюстраций в ...
Дык у каждой картинки есть кнопочки "сохранить", "просмотреть" и "удалить".
Для выборочного сохранения и удаления самое то. И что именно и куда. А после обработки опять же "скрепочка".
Так я же не против.
Просто для себя уяснил, что утилита хороша для обработки нескольких книг за раз, а для работы с одной можно и обойтись и FBE.
Отв: Программа для извлечения и замены иллюстраций в ...
поддержу Тигру - неинтерактивная тулзовина для пакетного преобразования есть весчь!
особенно, если оно ещё и кроссплатформенное (а это для "консольного" приложения - не особо сложно).
можно, например, веб-сервис сделать на основе такой программы - закачал книжку, скачал конвертированную...
опять же, к такой тулзе приделать ГУЙ по вкусу - можно (а обратное - неверно).
Отв: Программа для извлечения и замены иллюстраций в ...
Вот, что у меня получилось на ту же тему...
На Питоне, ясен пень. Питон 2.7 - в штатной конфигурации, без добавок.
Умеет показывать, вынимать и заменять бинарные объекты. Для замены - извлеките (--extract) те, что есть, замените файлы "ин плейс" (без переименования) и выполните команду с ключиком --replace. Извлекаются (и заменяются) объекты с теми именами, что прописаны в файле ФБ2.
Код - здесь.
Отв: Программа для извлечения и замены иллюстраций в ...
Upd: ещё совершенно неясно, как обрабатываются ошибки при чтении и записи файлов. Ну не силён я в питоне... :-(
Отв: Программа для извлечения и замены иллюстраций в ...
Это-ж - макет! :)
Я в спецификацию ФБ2 даже не смотрел...
Хых - получите!
Отв: Программа для извлечения и замены иллюстраций в ...
Ну, тут - почти никак ничего не обрабатывается :)
А так: try-except блоки:
<strong>try:</strong>
fp = open('file.xxx')
data = fp.read()
fp.close()
<strong>except</strong> IOError,e:
<strong>print</strong> 'Error:',e
Отв: Программа для извлечения и замены иллюстраций в ...
Ну, тут - почти никак ничего не обрабатывается :)
А так: try-except блоки:
.
.
.
.
.
.
<strong>try:</strong>
fp = open('file.xxx')
data = fp.read()
fp.close()
<strong>except</strong> IOError,e:
<strong>print</strong> 'Error:',e
Отв: Программа для извлечения и замены иллюстраций в ...
Рыжий Тигра, спасибо за прожку :) Если не трудно, добавьте возможность отключения обновления истории изменения в fb2-файле (description/document-info/history).
Отв: Программа для извлечения и замены иллюстраций в ...
PS. Хинт: исходники доступны. :-)
Отв: Программа для извлечения и замены иллюстраций в ...
02/11/2010 - версия 1.5
Отв: Программа для извлечения и замены иллюстраций в ...
Эк вы тут семинар по программированию устроили. Думаете самое место?
Отв: Программа для извлечения и замены иллюстраций в ...
Отв: Программа для извлечения и замены иллюстраций в ...
Я по наивности думал, что записи в публичном блоге должны быть интересны не только двоим-троим. Программа-то ваша не только для программистов. Но кажется ошибался.
Отв: Программа для извлечения и замены иллюстраций в ...
PS.
Отв: Программа для извлечения и замены иллюстраций в ...
А я думал, что для всех работающих с fb2. А ведь пользователи программы с исходниками разбираться и не обязаны вроде бы.
А ничего интересного не придумал.
Отв: Программа для извлечения и замены иллюстраций в ...
Страницы