Re: Обработка книг формата fb2
Hello! On Friday 12 February 2010 14:59:23 Serhiy Storchaka wrote: > Alexey Pechnikov wrote: > > Хм. Мелкое и шустрое, говорите... > > Не говорю. Но за три часа прогнало мою библиотеку из 25 тыс. файлов. > Достаточно. У меня раза в два быстрее распаковывается из архивов, преобразуется и в базу складывается. Так что весьма накладно получится. > > А перловой версии случаем нет, раз уж проект fb2-perl-tools? > > Нет. Но для вас ведь не составит труда переписать на шашечках^W тикле? Движок индексатора dash + внешние утилиты. Соответственно, интересуют доступные в ленни пакеты. И без переписывания всего и вся. Best regards, Alexey Pechnikov. http://pechnikov.tel/
Re: Обработка книг формата fb2
Alexey Pechnikov wrote: > Хм. Мелкое и шустрое, говорите... Не говорю. Но за три часа прогнало мою библиотеку из 25 тыс. файлов. Достаточно. > $ time echo""|dash $ time echo""|/bin/true > А перловой версии случаем нет, раз уж проект fb2-perl-tools? Нет. Но для вас ведь не составит труда переписать на шашечках^W тикле? -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Re: Обработка книг формата fb2
Hello! On Friday 12 February 2010 11:40:51 Serhiy Storchaka wrote: > > Вот в исходниках эскулайт есть нераспознанные файлы - видимо, > > потому, что там в комментариях модуля поддержки юникода есть символы > > с умляутами. Но если есть другая, мелкая и шустрая утилитка, - покажите, > > пока про запас, а дальше посмотрим, мало ли какие еще проблемы выявятся. > > Показывал. Раньше в ветке. Хм. Мелкое и шустрое, говорите... $ time echo""|dash real0m0.004s user0m0.000s sys 0m0.000s $ time echo""|perl real0m0.006s user0m0.004s sys 0m0.004s $ time echo""|python real0m0.022s user0m0.012s sys 0m0.012s А перловой версии случаем нет, раз уж проект fb2-perl-tools? От питоновских замрочек по несовместимости минорных версий увольте, я делаю работающее решение, а не на поиграться. В данном случае это не вопрос синтаксиса, а вопрос здравого смысла. Best regards, Alexey Pechnikov. 1http://pechnikov.tel/
Re: Обработка книг формата fb2
Alexey Pechnikov wrote: > On Friday 12 February 2010 00:56:45 Serhiy Storchaka wrote: >> Если хуже — написать собственный парсер, аналог tidy. > > Интересуют готовые решения, я вовсе не планирую для сотен различных > форматов обработчики с нуля писать, это нереально и лишено смысла к тому > же. Вопрос в том, чтобы собрать существующие утилиты. Мне о таком ничего не известно. Не думаю, что в общем случае решение будет иметь смысл. Вы ведь не требуете восстановления, например, jpeg-а с пропущенным байтом. >> enconv не справится с документами, где текст в latin1, кодировка указана >> windows-1251, и имя составителя кириллицей. Одна из моих утилит лечит >> подобные ошибки. > > Пока что у меня на 2 гигах (тысяч 8 файлов, не считая такого же количества > html-страниц - я их не выкидывал пока, т.к. обработка html задача > стандартная, пусть себе тестируются) ошибок распознавания кириллицы не > видно. Я о некиррилических документах. > Вот в исходниках эскулайт есть нераспознанные файлы - видимо, > потому, что там в комментариях модуля поддержки юникода есть символы > с умляутами. Но если есть другая, мелкая и шустрая утилитка, - покажите, > пока про запас, а дальше посмотрим, мало ли какие еще проблемы выявятся. Показывал. Раньше в ветке. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Re: Обработка книг формата fb2
Hello! On Friday 12 February 2010 00:56:45 Serhiy Storchaka wrote: > Если дело только в амперсанде, поможет > sed -e 's/&/\&/g;s/&/\&/g' Хуже и намного. Амперсанд я давно уже sed-ом вырезал, где-то выше показывал соответствующую команду. > Если хуже — написать собственный парсер, аналог tidy. Интересуют готовые решения, я вовсе не планирую для сотен различных форматов обработчики с нуля писать, это нереально и лишено смысла к тому же. Вопрос в том, чтобы собрать существующие утилиты. > enconv не справится с документами, где текст в latin1, кодировка указана > windows-1251, и имя составителя кириллицей. Одна из моих утилит лечит > подобные ошибки. Пока что у меня на 2 гигах (тысяч 8 файлов, не считая такого же количества html-страниц - я их не выкидывал пока, т.к. обработка html задача стандартная, пусть себе тестируются) ошибок распознавания кириллицы не видно. Вот в исходниках эскулайт есть нераспознанные файлы - видимо, потому, что там в комментариях модуля поддержки юникода есть символы с умляутами. Но если есть другая, мелкая и шустрая утилитка, - покажите, пока про запас, а дальше посмотрим, мало ли какие еще проблемы выявятся. Best regards, Alexey Pechnikov. http://pechnikov.tel/
Re: Обработка книг формата fb2
Alexey Pechnikov wrote: > В процессе обработки выяснилось, что библиотеки содержат жуткую смесь > валидных и невалидных документов. Пытаюсь выправить чем-то вроде > > exec cat "$2" | enconv | sed 's/ version="1.0" encoding="utf-8"?>/' | tidy -q -xml -utf8 2>/dev/null | > xsltproc "$STYLE" - > > но и так не все документы успешно преобразуются, выдавая ошибки xml. Может > ли кто предложить лучший способ? Замечу, что исходный контент мы не > модифицируем, необходимо все преобразования выполнять на лету и побыстрее > (выше приведенная штука ощутимо тормозит). С кодировками вроде проблема > решена с помощью enconv. Если дело только в амперсанде, поможет sed -e 's/&/\&/g;s/&/\&/g' Если хуже — написать собственный парсер, аналог tidy. enconv не справится с документами, где текст в latin1, кодировка указана windows-1251, и имя составителя кириллицей. Одна из моих утилит лечит подобные ошибки. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org