Программа расчёта тошноты страниц Nausea
Простенькая мультитредная программка расчёта тошноты html страниц Nausea.
- быстрая, производительная
- случается швах с кодировками
- не слишком силён в тонкостях html, к тому же невнимателен, поэтому постоянно где-то что-то недокусывается в смысле комментариев и внутренностей html.
- недоработана и всё такое. Например, нету кнопки "стоп". Глючит, если перезапустить при незавершённой предыдущей работе. Потому как завершение работы никак не инициируется и не отслеживается и работающие треды не прибиваются. Желающие допилить - welcome.
Конфигурация проста до ужоса, позволяет прописать прокси и простенькую basic-авторизацию к нему. Конфигурация сохраняется в текстовом файле nausea.conf в том же каталоге, где её и запускали.
Загрузки
Скачать можно здесь (FreeWare) (версия 1.1b от 05.12.2008):- Бинарники Win32 - для них необходим бинарный файл Win32 mystem.exe (первой версии) от парсера mystem компании Яндекс, не входящий в состав по причине соблюдения авторских прав. Положить прямо в каталог с файлами программы. Запускать gui.exe.
- Исходники - Как того требует OpenSource лицензия QT компании TrollTech. Два замечания перед сборкой в связи его с заточкой под Win32 и в случае сборки под другие ОС:
- В файле gui/mainwindow.cpp строка
openPage.execute( QString( "rundll32 url.dll,FileProtocolHandler \"%1\"" ).arg( url ) );
открывает браузер по умолчанию в Windows. Обратите внимание на обрамляющие #ifdef, переписываем, вобщем, самостоятельно под свою ОС. - В файле engine/nausea.cpp есть такая переменная tstr tdocument::allowedchars, содержащая все допустимые символы, которые могут содержаться в учитываемых словах, то есть, всё остальное, включая знаки припинания, игнорируется. Надо переписать в вашей кодировке. Здесь они в win-1251. Почему не вынесено в QT tr() - потому что, по идее, функции расчёта тошноты в папке engine самостоятельны сами по себе, и работают без морды.
- Под виндовсом должно собираться без особых выкрутасов.
- Реальный пример сборки под FreeBSD 8.0 amd64:
- в файле engine/norm.cpp исправляем путь и параметры запуска mystem (использовал вторую версию mystem как имеющую параметр codepage), строки номер 7 и 30: mystem.start("./mystem", QStringList() << "-lc"<<"-e koi8-r",QIODevice::ReadWrite|QIODevice::Text|QIODevice::Unbuffered);
- строка 109 файла engine/nausea.cpp - перекодируем в KOI8 (почему - см выше)
- собираем и подсовываем туда же mystem 2.0 FreeBSD 7.2 64-bit - qmake-qt4, make - и вроде всё работает
- В файле gui/mainwindow.cpp строка
- если запускается, но вылетает при попытке проверять url - проверьте наличие mystem в том же каталоге