5077 сомнений.

5077 сомнений.

Ну вот. Начала, наконец, прожевываться перловка, скрипты хоть кое-как зафурычили, стремительным домкратом наросла библиотечка полезных сабрутинок, и в тумане перспективы стал вырисовываться первый результат: 5077.

5077 - это число книжек из AldLit (это, совместно, Альдебаран36163 и Литрес4415), которых, по нынешнему мнению скрипта-сравнилки, нет в Либрусеке.

На самом деле множество из них таки в Либрусеке есть, и я хотел бы уменьшить это число 5077 - более правильным сравнением книг из AldLit и из Либрусека. Но тут я теряюсь в сомнениях. Помогите соображениями о возможных подводных камнях, братие и сестрие! По вот этим поводам.

Деёфикация:
Сейчас "Звездная тень" и "Звёздная тень" считаются разными книгами. Может быть, превратить все "ё" в "е", и только после этого сравнивать?

Декавычкизация:
Сейчас "«Л» – значит люди" и "Л – значит люди" считаются разными книгами. Может быть, уничтожить все виды кавычек, и только после этого сравнивать?

Детирезация:
Сейчас "Звезды — холодные игрушки" (тут имеется в виду en dash, em dash, etc.) и "Звезды – холодные игрушки" (minus sign, hyphen) считаются разными книгами. Может быть, привести все виды тире к дефису (minus sign, hyphen), и только после этого сравнивать?

Ещё я хочу спросить уважаемое сообщество про этавот, о книгах из AldLit, стоящих в первой очереди к заливке на Либрусек:

1. Конвертировать ли в UTF-8 те книги, которые сейчас в другой кодировке?
2. Писать ли в history, и если писать, то что?
3. Прошу прокомментировать предполагаемый порядок предзаливочной обработки, может я чего упустил.
4. Самый кривой вопрос... как, черт побери, формируются зипы, которые на http://lib.rus.ec/allbooks и http://lib.rus.ec/all/daily/ ? Я имею в виду... скажем, если книгу из Либрусека удалили или заменили на лучший вариант, в зипах ведь она всё равно остаётся, зипы ведь не переформировываются заново?

Предполагаемый порядок предзаливочной обработки:
1. Записать в history предлибрусечное происхождение - Альдебаран36163 или Литрес4415 (?)
2. Конвертировать все файлы в кодировку UTF-8 (и записать это действие в history?).
3. Прогнать через FB2Fix - это также приподнимет версию на 0.01
4. Прогнать через fb2-renaming, по схеме: Familiya_Imya_Otchestvo_(Niknejm)_(Serial-#)_Nazvanie_knigi.fb2 . При этом _Otchestvo, _(Niknejm), и _(Serial-#) - опциональны, вставляются только при наличии таковых в дескрипшне. Если авторов много, автор берется только первый.

Updated: Предполагаемый порядок предзаливочной обработки (именно в изложенном порядке):

1. Записать в custom-info (не в history) предлибрусечное происхождение - Aldebaran36163 или Litres4415 (Perl script)

2. Инкрементировать версию на 0.01 0.001 (по просьбе Bullfear) (Perl script, поскольку FB2Fix на этой операции иногда пропускает файлы)

3. Прогнать через FB2Fix (попутно конвертировать все файлы в кодировку UTF-8, конвертирование никуда не записывать) (FB2Fix) Используемая версия Fb2Fix 1.0.8. Содержимое options-файла:
/compress-
/indentheader+
/indentbody-
/incversion-
/mapgenres-
/validate-
/rename-
/loglevel:Verbose
/logfile:F:\5525-NEW-step03-fb2fixed-fb2fix.log.txt
/output:F:\5525-NEW-step03-fb2fixed
/encoding:UTF-8
/recurse-
/force-

4. Прогнать через fb2-renaming, по схеме: Familiya_Imya_(Serial-#)_Nazvanie_knigi.fb2 . При этом _(Serial-#) - опционально, вставляются только при наличии таковых в дескрипшне. Если авторов много, автор берется только первый. (Perl script)

Updated: новое магическое число, после улучшения логики сравнивалки - 4511.

Updated: Самое-самое последнее магическое число - 4509. Да и то благополучно закончилось :))

http://lib.rus.ec/sites/default/files/4509-list-by-title.txt 805.48 кб
http://lib.rus.ec/sites/default/files/4509-list-by-author.txt 805.48 кб

---------------------------------
Для справки и прояснения о чем, собственно, речь:
Что такое Альдебаран36163: http://lib.rus.ec/node/107093
Что такое Литрес4415: http://lib.rus.ec/node/105819
AldLit = Альдебаран36163 плюс Литрес4415 минус внутренние дубли и некоторые проблемные файлы.
AldLit готовится к заливке на Либрусек.
5077 (на сегодняшний день) - это часть AldLit, первая очередь к заливке на Либрусек, книги, которых (условно) на Либрусеке нет вовсе.
Вторая и последующие очереди к заливке будут состоять из книг из AldLit, которые на Либрусеке есть, но сделаны LibRusEcKit или eBookDownLoader.

Комментарии

Цитата:
3. Прогнать через FB2Fix - это также приподнимет версию на 0.01

Вот это дело. "+1", "За" и всё такое.

На основные вопросы ответов дать, к сожалению, не могу. Не копенгаген...
Но на вот на парочку:
2. Конвертировать все файлы в кодировку UTF-8 (и записать это действие в history?).
Конвертировать и не прописывать. Никому не интересно.

4. Прогнать через fb2-renaming, по схеме: Familiya_Imya_Otchestvo_(Niknejm)_(Serial-#)_Nazvanie_knigi.fb2 . При этом _Otchestvo, _(Niknejm), и _(Serial-#) - опциональны, вставляются только при наличии таковых в дескрипшне. Если авторов много, автор берется только первый.
Не поняла цели переименования - на сайте файлы как только не названы. При скачке обзываются по собственной схеме.
Но если она (цель) всё же имеется, то предлагаю сократить название до Familiya_Imya_(Serial-#)_Nazvanie_knigi.fb2. Вполне достаточно для идентификации.

golma1 написал:
На основные вопросы ответов дать, к сожалению, не могу. Не копенгаген...
Но на вот на парочку:
2. Конвертировать все файлы в кодировку UTF-8 (и записать это действие в history?).
Конвертировать и не прописывать. Никому не интересно.

ОК.

golma1 написал:
4. Прогнать через fb2-renaming, по схеме: Familiya_Imya_Otchestvo_(Niknejm)_(Serial-#)_Nazvanie_knigi.fb2 . При этом _Otchestvo, _(Niknejm), и _(Serial-#) - опциональны, вставляются только при наличии таковых в дескрипшне. Если авторов много, автор берется только первый.
Не поняла цели переименования - на сайте файлы как только не названы. При скачке обзываются по собственной схеме.

Да вот как раз потому что многие жаловались, что при скачке после распаковки имя у fb2-файла бывает очень неудобное для сортировок. Да я и сам это вижу.

golma1 написал:
Но если она (цель) всё же имеется, то предлагаю сократить название до Familiya_Imya_(Serial-#)_Nazvanie_knigi.fb2. Вполне достаточно для идентификации.

ОК.

golma1 написал:
2. Конвертировать все файлы в кодировку UTF-8 (и записать это действие в history?).
Конвертировать и не прописывать. Никому не интересно.
Мне интересно. Символы, которых нет, к примеру, в cp1251, заменены иными (к примеру, знаками вопроса) - а при преобразовании в utf-8 будут заменены обратно в правильные или так знаками вопроса и останутся?

Иными словами, для сравнения книг годятся любые издевательства над кодировками, fb2fix'ы и т.д. - но сухой остаток лучше выкладывать в оригинальном виде.

Рыжий Тигра написал:
Символы, которых нет, к примеру, в cp1251, заменены иными (к примеру, знаками вопроса) - а при преобразовании в utf-8 будут заменены обратно в правильные или так знаками вопроса и останутся?

Останутся вопросиками, ясный пень - это уже вопрос вычитки.
И сухой остаток имеет смысл держать в UTF-8 - относительно независит от языка и, потому, допускает поиск, разбор и т.п. операции в "языконезависимом" виде.
Только не забыть XML-заголовок исправить (charset)...

Рыжий Тигра написал:
Символы, которых нет, к примеру, в cp1251, заменены иными (к примеру, знаками вопроса) - а при преобразовании в utf-8 будут заменены обратно в правильные или так знаками вопроса и останутся?

Естественно нет. Для немецкой или скажем польской книги кодировка cp1251 некорректна. Поэтому и лучше один стандартный utf8.
Но книги с неправильной кодировкой ( скажем немецкие в cp1251, с вопросиками вместо умляутов ) придется вычитывать и править вручную. Скрипт тут все равно не спасет.

Там вопрос про преобразование в юникод был. Т.е. исходные "умляуты" уже убиты.

golma1 написал:

Не поняла цели переименования - на сайте файлы как только не названы. При скачке обзываются по собственной схеме.

Вот только теперь понял, что Вы правы. Я-то думал (почему-то) что Либрусек хранит fb2-файлы с названиями как они были залиты, и выдает их так же. Ан нет:
Скачался зип Stokou_Korovyi.119533.fb2.zip в нем внутре - Mettyu_Stokou_Korovyi.fb2 А заливался файл и вовсе такой: stokou_myettyu_korovy.FROM_ALD36163.NOT_ON_LIBRUSEC.fb2

Получается, Либрусеку пофиг как обзываются заливаемые fb2-файлы. И в схеме предзаливочной обработки шаг "fb2-renaming" - лишний. Разве что из эстетических соображений ренейминг делать.

Цитата:
Получается, Либрусеку пофиг как обзываются заливаемые fb2-файлы.

Совершенно верно. Я давно перестала заморачиваться и, поскольку заливаю ручками, обзываю их попроще - по-русски кириллицей. Всё равно при скачке они переименовываются. Или даже при закачке.
Потому что после заливки появляется сообщение "книга добавлена" и рядом стоит имя файла - транскрипция из дескрипшена.

Я не могу ручками, шибко много... и кириллицы у меня нет...

В принципе, то, что Либрусек берет ренейминг на себя - логика здравая. Заливщикам доверься, они такого назаливают... в кириллице... ;) а потом при скачивании начнется - та система не поддерживает то, эта не поддерживает это...

Жалко только что ренейминг по неудачной схеме сделан - Imya_Familiya_Nazvanie, вместо Familiya_Imya_Nazvanie, я вот собственно именно этот момент хотел обойти. Ну нет так нет, одним шагом обработки меньше...

1. Конвертировать ли в UTF-8 те книги, которые сейчас в другой кодировке?
А зачем? Вот из UTF-8 в другую - ненадо, могут потерятся ударения и т.п. А если книга лежит в Russian ANSI (1251), то конвертация в UTF-8 ничего, кроме увеличения размера в два раза не даст.
2. Писать ли в history, и если писать, то что?
Конвертирование точно писать не надо :)
3. Прошу прокомментировать предполагаемый порядок предзаливочной обработки, может я чего упустил.
Да вроде правильно все...
4. Самый кривой вопрос... как, черт побери, формируются зипы, которые на http://lib.rus.ec/allbooks и http://lib.rus.ec/all/daily/ ? Я имею в виду... скажем, если книгу из Либрусека удалили или заменили на лучший вариант, в зипах ведь она всё равно остаётся, зипы ведь не переформировываются заново?
Очень просто - добавлением. Старые "кривые" книги никуда не деваются и по прежнему лежат в архивах.

В одном из холиваров по поводу кодировки Ларин сказал, что предпочтительнее utf-8 и что проблем с размещением файлов, бОльших по размеру, нет.
С тех пор я стараюсь не забывать перекодировать все книШки, которые проходят через мои руки, в utf-8. ;)

golma1 написал:
Ларин сказал, что предпочтительнее utf-8 и что проблем с размещением файлов, бОльших по размеру, нет.

Да проблем то нет. Но зачем я не понимаю. Любая читалка читает и то и то. Просто для единообразия?

Bullfear написал:
golma1 написал:
Ларин сказал, что предпочтительнее utf-8 и что проблем с размещением файлов, бОльших по размеру, нет.

Да проблем то нет. Но зачем я не понимаю. Любая читалка читает и то и то. Просто для единообразия?

Не знаю. Знаю только, что немецкие книги корректно изображаются только в utf-8. Может, речь идёт о специальных знаках?
Честно говоря, не владею до конца этим вопросом. Просто приняла во внимание мнение сведущих. ;)

golma1 написал:

Не знаю. Знаю только, что немецкие книги корректно изображаются только в utf-8.

Есть подозрение, что пересохранение в утф не спасет данные знаки в книгах, если они уже были сохранены в другой кодировке и благополучно похерились.
Имхо, только для вновь создаваемых книг во избежание появления кракозябров и вопросиков в тексте, утф полезен.

TaKir написал:
Есть подозрение, что пересохранение в утф не спасет данные знаки в книгах, если они уже были сохранены в другой кодировке и благополучно похерились.

Есть подозрения, что подобные книги вряд ли кто-нибудь будет сохранять в CP1251 или KOI8-R. А зная исходную кодировку перекодировать в UTF8 очень просто.

Книги с ударениями, французским текстом и т.п. итак лежат в UTF-8. А вот если книга не содержит спец символов, а просто содержит русский текст, то конвертация бесполезна. Других преимуществ, кроме поддержки дополнительных символов, у UTF-8 нет. А если книга содержала спец символы, которые убились при конвертации в 1251 к примеру, то обратная конвертация скриптом эти символы не восстановит. А вручную конвертировать около 3к+ книг дураков нет.

уже отвечал ранее в ветке про utf-8, повторюсь
при грамотной конверсии в utf-8 можно различать тире и длинное тире, угловые кавычки, неразрывные пробелы, символы ударения (хотя последнее, конечно, спорно, кажется никто из читалок его не умеет различать). Ну и если есть, скажем, сноски на французском, как в "Войне и мире", при последующей вычитке можно поставить корректные буквы с диакритикой.

Цитата:
при грамотной конверсии в utf-8 можно различать тире и длинное тире, угловые кавычки, неразрывные пробелы, символы ударения (хотя последнее, конечно, спорно, кажется никто из читалок его не умеет различать).

Все это различаяет и Russian ANSI(кроме ударений). Однако, если в исходнике этого нет, от "грамотной" конвертации оно не появится. Или вы подразумеваете ручную правку 3к+ книг?

Может быть это вас удивит, но xml (а значит и fb2) поддерживает юникод в полном объеме независимо от кодировки. Можно сохранить юникодный текст в любой кодировке и потом снова преобразовать его в юникод - никакой разницы не будет. Если разница есть - это проблема софта, который некорректно работает с xml документами.

Блин. Я уже в третий раз пытаюсь обьяснить, что если книга уже некорректно преобразована в Russian ANSI, то преобразование(хоть двести раз корректное) ничего не даст, кроме увеличения размера, следовательно не имеет смысла. Вместо значков будут вопросики - "?" Я понятно выражаюсь?

Ага. А кто-то спорит?

Bullfear написал:
1. Конвертировать ли в UTF-8 те книги, которые сейчас в другой кодировке?
А зачем? Вот из UTF-8 в другую - ненадо, могут потерятся ударения и т.п. А если книга лежит в Russian ANSI (1251), то конвертация в UTF-8 ничего, кроме увеличения размера в два раза не даст.
2. Писать ли в history, и если писать, то что?
Конвертирование точно писать не надо :)
3. Прошу прокомментировать предполагаемый порядок предзаливочной обработки, может я чего упустил.
Да вроде правильно все...
4. Самый кривой вопрос... как, черт побери, формируются зипы, которые на http://lib.rus.ec/allbooks и http://lib.rus.ec/all/daily/ ? Я имею в виду... скажем, если книгу из Либрусека удалили или заменили на лучший вариант, в зипах ведь она всё равно остаётся, зипы ведь не переформировываются заново?
Очень просто - добавлением. Старые "кривые" книги никуда не деваются и по прежнему лежат в архивах.

ОК, понял, спасибо.

Деёфикация, Декавычкизация, Детирезация - а как иначе-то сравнивать?

А вот по поводу FB2Fix... В идеале хорошо бы залить сначала без него, внести в файлы ссылки на предыдущие версии, а потом уже с ним. Потому как после автоматических скриптов вычитывать труднее, чем если в файле только ошибки ОСR.

aina написал:
Деёфикация, Декавычкизация, Детирезация - а как иначе-то сравнивать?

(завистливо) Вам хорошо, а я это вот только сейчас понял.

aina написал:
А вот по поводу FB2Fix... В идеале хорошо бы залить сначала без него, внести в файлы ссылки на предыдущие версии, а потом уже с ним. Потому как после автоматических скриптов вычитывать труднее, чем если в файле только ошибки ОСR.

А вот про это можно подробнее? Насколько могу вспомнить, на FB2Fix вроде бы не жаловались.

Я, к сожалению, не пользуюсь скриптами и не ориентируюсь в том какие именно из них гадят тексты. А поскольку скрипты никакой подписи после своей работы не оставляют, то приходится подозревать все. :-) Если вы уверены в том что FB2Fix работает идеально, то можете заливать так. Но даже сам автор такой гарантии не даёт.

aina написал:
после автоматических скриптов вычитывать труднее, чем если в файле только ошибки ОСR.
Таки да. :(

От деёфикации видимо никуда не уйти, а все остальные нестандартные знаки я бы предложил в процедуре сравнения просто не учитывать. Оставить только буквы и цифры, перевести их в верхний регистр и так сравнивать.

Stiver написал:
От деёфикации видимо никуда не уйти, а все остальные нестандартные знаки я бы предложил в процедуре сравнения просто не учитывать. Оставить только буквы и цифры, перевести их в верхний регистр и так сравнивать.

Так. Применил Деёфикацию, Декавычкизацию и Детирезацию, пересчитал - список сократился до 4631.

Но.
"История болезни или Игры, которые играют в людей" и "История болезни, или игры, которые играют в людей" по-прежнему считаются разными книгами. Тогда я озверел и пошел по Вашему пути: применил Дезапятизацию и вообще всеобщую Дезнакизацию. То бишь, прибил нафиг все, кроме букв и цифр (там пришлось поплясать вокруг некоторых украинских и беларусских букв, но вроде прошло).

Новое магическое число - 4511. От него и буду плясать.

Вот черт... Гоняя FB2Fix, случайно обнаружил, что она не всегда приподнимает версию, хотя в опциях стоит /incversion+ :(( Придется своими скриптами доделывать...

...и в директории "Good"

Так. Процесс подготовки первой очереди закончен. В процессе обнаружилось ещё два внутренних дубля, так что магическое число теперь - 4509. Залито на пробу 500 штук. Процесс идет удовлетворительно, на 500 книг - всего с полдюжины дублей оказалось. Остальные четыре тысячи - завтра.

Кстати, а можно попросить, чтобы версия приподнималась на 0.001, а не на 0,01? Просто прогоняя весь либрусек через FB2Fix из заливая поверх литрес\альд в своей библиотеке, получил удобный признак "невалидности" книг - версию 1.01.

Bullfear написал:
Кстати, а можно попросить, чтобы версия приподнималась на 0.001, а не на 0,01? Просто прогоняя весь либрусек через FB2Fix из заливая поверх литрес\альд в своей библиотеке, получил удобный признак "невалидности" книг - версию 1.01.

Ччерт... поздно, извини. Но эти 4509 можно легко отличить - у них у всех в custom-info есть либо "From collection Aldebaran36163" либо "From collection Litres4415".

А на последующие очереди заливки сделаю 0.001

Жаль :( А то, что у них в дескрипшене чего-то там есть это конечно хорошо, но мне бесполезно - FBLibrarian дескрипшен показывает после пары кликов, а не рядом с названием книги, как версию файла. В принципе ориентироваться все-равно смогу по аннотациям и обложкам, так что это не критично.

Если будет время, не мог бы ты написать скрипт, чтобы разделял русские\иностранные книги, ориентируясь по тегу ru? Когда выкачиваю новые поступления из librusec\all приходится сперва добавлять все кучей, а потом ручками тереть иностранцев. Оччень неудобно, да и база fdb после удаления не уменьшается в размере, приходится ее дополнительно перепаковывать.

Bullfear написал:
Если будет время, не мог бы ты написать скрипт, чтобы разделял русские\иностранные книги, ориентируясь по тегу ru?

То бишь, по тегу title-info -> lang ? Можно. В каком виде результат нужен?

pkn написал:
То бишь, по тегу title-info -> lang ? Можно. В каком виде результат нужен?

Угу. Желательно в таком: русские в одну папку, иностранцы в другую(или удаляются сразу).

Bullfear написал:
pkn написал:
То бишь, по тегу title-info -> lang ? Можно. В каком виде результат нужен?

Угу. Желательно в таком: русские в одну папку, иностранцы в другую(или удаляются сразу).

Понял, можно сделать без проблем. У тебя есть (или сможешь инсталлировать) на машине Перл? Если да, сможешь перловый скрипт запускать, он только из командной строки работает, естественно?

Погуглил немного и нашел. Да, скачать\установить - дело 10 минут.

Bullfear написал:
Погуглил немного и нашел. Да, скачать\установить - дело 10 минут.

ОК. (и кинулся чистить сорсы от мусора, дабы не позориться)

Сделал скрипт, прикрепил его к первому посту, файл kop-fb2-split-copy-by-lang.pl_.txt

Как работает: в командной строке ему надо указать директорий откуда брать fb2-файлы (в zip-ы лазить пока не умею, сори). Потом скрипт в текушем директории создает поддиректории "lang-ru" и "lang-other". В них он копирует исходные fb2-файлы, на русском (тег title-info -> lang "ru") в поддиректорий "lang-ru", остальные - в поддиректорий "lang-other".

Если запустить без параметров, он скажет короткую справку.

Для работы ему нужен естественно сам Perl, и вот ети модули Perl-а:
Cwd;
Encode;
File::Find;
File::Copy;
Time::HiRes

В принципе ети модули должны входить в стандартную инсталляцию Перла, но если каких-то из них не хватает, то можно переделать скрипт так, чтобы обходиться без них.

Запуск интерпретатора (командной строки) в Windows: Start Menu -> Run -> cmd.exe

Пример командной строки:

F:\test>C:\Perl\bin\Perl.exe F:\perlscripts\kop-fb2-split-copy-by-lang.pl F:\tt-fb2

Где:
F:\test - текущий директорий, здесь создаются поддиректории "lang-ru" и "lang-other" и в них копируются исходные файлы
C:\Perl\bin\Perl.exe - местонахождение самого Перла
F:\perlscripts\kop-fb2-split-copy-by-lang.pl - местонахождение скрипта
F:\tt-fb2 - директорий, откуда брать исходные fb2-файлы. Никаких изменений в этой директории не делается, оттуда только чтение. Файлы берутся рекурсивно, т.е. включая поддиректории. По маске "*.fb2", т.е. возьмутся все файлы с расширением .fb2, остальные проигнорируются.

Вроде все...

Спасибо! И отдельное спасибо за офигенный хелп . Я бы разобрался и так(имею горький опыт работы с fb2fix), но я уверен, скрипт будет полезен не только мне, так что хелп дело нужное.

Пожалуйста, конечно, но вообще-то не говори "Гоп" пока не проедешь Чоп... :)) Это я в том смысле, что ещё не факт, что оно заработает. Я в Перле плохо шурупаю, а в Перле для Windows и того хуже. Но будем, конечно, надеяться. Тестовые прогоны на моем винбоксе прошли ОК. Там стоит какой-то "Active Perl", версию навскидкку не помню.

Кстати, и тебе спасибо - делая этот скрипт, я отловил в одной из сабрутинок баг, который меня мучал как блоха кошку.

И ещё кстати - если будут нужны ещё какие-нибудь подобного типа скриптики - я готов.

Заметки для отметки:
De_Berzherak_Sirano_Inoj_svet_ili_Gosudarstva_i_imperii_Luny.fb2 непонятный жанр love_sf
De_Vita_Sheron_(Lyubovnyj_roman)_Neozhidannoe_schaste.fb2непонятный жанр love_sf
Dubchak_Anna_(Rasskazy)_Mariya_Petrovna.fb2непонятный жанр love_sfнепонятный жанр management
inflating: ocr/pkn/Fillips_E_(Zagadki_drevnih_civilizacij)_Mongoly_Osnovateli_imperii_Velikih_hanov.fb2

Наменование: Зимний излом. Том 2. Яд минувшего. Ч.1
Версия не лучше: Зимний излом. Том 2. Яд минувшего 1.1:1.01

inflating: ocr/pkn/Kataev_Valentin_(Rasskazy_Feletony)_Emelyan_Chernozemnyj.fb2непонятный жанр love_sfнепонятный жанр managementнепонятный жанр love_sfнепонятный жанр love_sfнепонятный жанр love_sfнепонятный жанр love_sfнепонятный жанр popular_business

Не найден файл ocr/pkn/Kartlend_Barbara_Tajna_gornoj_doliny.fb2. Беда...

Не найден файл ocr/pkn/Kartlend_Barbara_Tancuya_na_raduge.fb2. Беда...

Не найден файл ocr/pkn/Kasarego_Martin_Menya_ne_kupish.fb2. Беда...

Не найден файл ocr/pkn/Kassil_Lev_(Disko).fb2. Беда...

Не найден файл ocr/pkn/Kassil_Lev_(Transbalt).fb2. Беда...

Не найден файл ocr/pkn/Kassil_Lev_Absolyutnyj_sluh.fb2. Беда...

Наменование: Сквозь зеркало и что там увидела Алиса, или Алиса в Зазеркалье (Пер.Н.М. Демуровой)
Версия не лучше: Сквозь зеркало и что там увидела Алиса, или Алиса в Зазеркалье (Пер. Н.М. Демуровой) 1.2:1.01

nflating: ocr/pkn/Kompyuterra_(Kompyuterra-653)_Zhurnal_(Kompyuterra)_N_33_ot_12_sentyabrya_2006_goda.fb2непонятный жанр love_sfнепонятный жанр managementнепонятный жанр love_sfнепонятный жанр love_sfнепонятный жанр love_sfнепонятный жанр love_sfнепонятный жанр popular_business

Наменование: Журнал «Компьютерра» № 10 от 13 марта 2007 года
Проверяем 'Компьютерра'
file:zhurnal_Kompyuterra_Zhurnal_Kompyuterra_N_10_ot_13_marta_2007_goda

Файл zhurnal_Kompyuterra_Zhurnal_Kompyuterra_N_10_ot_13_marta_2007_goda уже есть в базе. Повторы недопустимы.

Что за... куда-то делся файл 2020... фтп сбойнул? Впрочем, ну его, завтра докую... спа-атеньки...

Пропеарюсь ещё раз: fb2tags.py :)

Умеет:
0. работать везде
1. работать пакетно
2. перекодировать (в т.ч. в транслит по ГОСТу)
3. готовить к переименованию (генерировать командный скрипт)
4. выделять текст без тэгов (для сравнения)

могу добавить деёфикацию, детирезацию

если кто скажет, как делать декавычизацию, сделаю и её.

P.S. деёфикацию, детирезацию и какую-то декавычизацию сделал.

Результат можно посмотреть так:

fb2tags.py -t -m no_Yo,quotes,no_dash TestFile.fb2 > TestFile.txt

jno написал:
Пропеарюсь ещё раз: fb2tags.py :)

Спасибо, но Питона у меня на машине нет, да и Перловые скрипты уже заработали.

Ссылки на питон (в т.ч. виндовый) есть на той же страничке...

jno написал:
Ссылки на питон (в т.ч. виндовый) есть на той же страничке...

Вот упорный... :)) Ну хорошо, тогда так. Вы думаете, что сведение шести перекрывающихся наборов книг в один (размером 40,000), и затем кросс-проверка его на Либрусечий набор (90,000 книг) - это за вчерашний вечер сделано? Я этим занимался несколько недель. На Перле - на языке, который я ненавижу, я вообще все скриптовые языки ненавижу, но с Перлом мне приходится мириться, потому что приобретенные в процессе знания о нём я имею хоть призрачный шанс применить ещё где-то. В процессе мне пришлось написать несколько тысяч строк на Перле. Первый вариант сравнивалки работал (работал бы, если б я ему дал) 300+ часов, а последний - два часа на подготовку хешей, а потом менее 20-ти минут на любое сравнение.

В процессе работы Перл, который я и без того ненавижу, надоел мне хуже горькой редьки, на аббревиатуры fb2 я не могу смотреть без содрогания, а в ночных кошмарах вижу неправильный byte order mark...

И теперь Вы хотите чтобы я все это бросил и принялся изучать ещё и Ваш !@ъ$%^ питон?!

В мемориз! "Адназначна"(С)! :)

Я ни в коей мере не пытаюсь навязаться (ну, может, самую малость :) - просто увидел в посте задачу, которую отчасти решает моё поделие (сделанное по желанию местных жителей)...

И Ваше отношение к Перлу я вполне разделяю :)
Да и программка предлагается "как есть" - т.е. в "готовом" виде, а не "для изучения" (могу допилить, если что).
Впрочем, может Питон-то Вам и глянется...
Да и не так уж они и бесполезны, скрипты эти, как мне кажется.

Я вот, по производственной нужде пишу сейчас на паскале (sic! и даже не на турбо/вижуал и не на фри, а на... не скажу каком) и ностальгирую активно :)

Страницы

X