Re: Обработка книг формата fb2

2010-02-12 Пенетрантность Alexey Pechnikov
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

2010-02-12 Пенетрантность Serhiy Storchaka
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

2010-02-12 Пенетрантность Alexey Pechnikov
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

2010-02-12 Пенетрантность Serhiy Storchaka
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

2010-02-11 Пенетрантность Alexey Pechnikov
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

2010-02-11 Пенетрантность Serhiy Storchaka
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