Monthly Archives: Квітень 2013

bwikibot 0.4.2, відтепер з автовиправленням правопису!

Автовиправлення правопису, як пізніше виявилось – передчасна ідея, але суть публікації в тому що bwikibot активно розвивається і на сьогодні вже має версію 0.4.13. Очікуйте 0.5.0!
Правда не всього правопису, а лише деяких іменників чоловічого роду в родовому відмінку, але й це вже краще ніж нічого.

bwikibot встановлюється просто як:

sudo pip install bwikibot

Або, якщо цією програмою ще хтось крім мене користується (дякую вам) і вже встановив, то оновлюємо:

sudo pip install --upgrade bwikibot

Нагадаю що pip повинен бути для третього Python, підтримка другого можлива лише теоретично, якщо хтось допоможе мені з тестами.

Після чого виправлення правопису запускається командою:

python3 main.py spell "Пориньте у Python 3/Модульне тестування"

correction_diff

І якщо вказана сторінка існує на вікі, на яку він залогінений, то текст цієї сторінки буде прочитано, будуть здійснені всі можливі автозаміни, вам буде показаний диф між новою і старою версіями (треба буде подумати над тим, як зробити так аби цей диф виглядав коротшим) і після отримання від вас згоди на запис, виправлена версія записана назад у вікі.

Що він може? Небагато, поки-що. В нього є словник genitive_a_u.txt, в якому містяться слова чоловічого роду в родовому відмінку з закінченнями “а”, “у”. Словник поки що невеликий, містить сім слів: аргументу, графа, менеджменту, методу, об’єкта, параметра, файла.

Проте це слова які я не вмію правильно писати, хоча пишу часто. :) Словник буде доповнюватись. Потім може ще додам словник автовиправлень частих помилок загального виду, і якісь n-грами.

Ну і щойно виявив помилку. Мій коректор хоче замінювати слово “аргументами” на “аргументуми”. :) Треба згадати що там в кінці шаблону треба поставити… Здається "аргумент\b"?

А ще, коли проект виросте до справді корисного, напевне варто буде його відокремити і додати можливість перевірки і автовиправлення блоґу через xml-rpc.

Ах, і якщо хтось знає як не винаходити велосипед, а інтегрувати aspell чи щось подібне – поділіться досвідом.

Доповнення на 16:15 : Помилку з “аргументуми”, занадто довгі дифи, виправлено в версії 0.4.3, також для цієї версії тести проходяться як в Python3 так і в Python2, але вручну я тестував тільки 3.


Filed under: Інструменти, Кодерство, Павутина Tagged: вікіпедія, мова, Python