мая 09
31
В этой статье я расскажу как написать свой первый плагин к WPT. Вы увидете, насколько быстро и интересно все это делается и как можно до неузнаваемости изменить результаты работы WordPress Translator. Итак для работы вам потребуются три вещи
- непосредственно сам WPT
– текстовый редактор, работающий с UTF8
– какой нибудь самоучитель / справочник по phyton
Рекомендую использовать Notepad++ – это простой и в то же время мощный редактор, с подсветкой синтаксиса и с сохранением результата в UTF.
Самое сложное при кодировании – это придумать, что именно будет делать плагин. Так например, сейчас мы разработаем плагинчик, который будет заниматься псевдо снонимизацией – так сказать “корявить” текст разными символами, причем корявить будет только прилагательные. Так же плагин будет менять некоторые русские символы на английские и цифры
Создаем в папке plugins новый файлик koryawki.py
Создаем новый класс – class Koryawki():
В нем прописываем три метода begin, end и run
class Koryawki():
def begin(self): pass
def end(self): pass
def run(self, title, text, date, tags):
return (title, text, date, tags)
Далее в этом классе заводим переменную, в которой будем хранить символ для подмешивания в текст, переменную(массив) признаков прилагательных и еще один массив пар букв, которые будем менять в тексте
unik = “‘”
okonchaniya = ['ой','ый','ий','ый','ое','ее','ая','ые','ие',
'ого','его','ей','ых','ому','ему','им','ым','ую',
'юю','ою','ими','ыми','ом','ем','ию','ия']
other = {‘ в ‘:’ B ‘,’ при ‘:’ пpu ‘,’ и ‘:’ u ‘,’ о ‘:’ 0 ‘}
После этого в методе run в цикле обрабатываем текст, переданный в плагин
for okonchanie in self.okonchaniya:
intext = “%s ” % okonchanie
reptext = “%s%s ” % (self.unik, okonchanie)
text = text.replace(intext, reptext)
for (in_other,out_other) in self.other.items():
text = text.replace(in_other, out_other)
…. и возвращаем результат
return (title, text, date, tags)
В принципе практически все готово
дописываем в конце функцию get_object(), которая собственно и будет возвращать результат
def get_object():
return Koryawki()
и как цимус – в методе begin класса Koryawki выводим сообщение о начале работы плагина
def begin(self): self.debug(u”Корявки включены”)
Ну вот собственно и все. Прописываем в __init__.py наш новый плагин
import koryawki
objects_ = [koryawki.get_object(),]
…. и наслаждаемся результатами работы плагина
Вот исходный текст
2 свеклы среднего размера, 2-3 свежих огурца, 100 г зеленого лука, 1 л хлебного кваса, 2 ст. ложки лимонного сока, зелень укропа и петрушки, черный молотый перец, соль по вкусу.
Способ приготовления
Одну свеклу сварить, охладить, очистить от кожицы и нарезать соломкой. Вторую свеклу оставить сырой, очистить и натереть на мелкой терке. Вымытые огурцы нарезать тонкими ломтиками. Зеленый лук, петрушку, укроп мелко нарубить.
А вот обработанный нашим плагином
2 свеклы средн’его размера, 2-3 свежих огурца, 100 г зелен’ого лука, 1 л хлебн’ого кваса, 2 ст. ложки лимонн’ого сока, зелень укропа u петрушки, черн”ый молот”ый перец, соль по вкусу.
Способ приготовлен’ия
Одну свеклу сварить, охладить, очистить от кожицы u нарезать соломкой. Втор’ую свеклу оставить сырой, очистить u натереть на мелк’ой терке. Вымыт’ые огурцы нарезать тонк’ими ломтиками. Зелен”ый лук, петрушку, укроп мелко нарубить.
Соединить огурцы, свеклу, лук u зелень, посолить, поперчить, сбрызнуть лимонн’ым соком, перемешать. Разложить по тарелкам u залить квас’ом перед подач’ей на стол.
Скачать плагин “корявки” можно на форуме нашего сайта.
Внимание! в питоне отступы играют важное значение. Потому пример лучше рассматривать в исходнике.
Резюме: таким образом, за 10 минут мы написали плагин, который “уникализирует” текст. Все просто…
Метки:плагины



