Пишем свой первый плагин

В этой статье я расскажу как написать свой первый плагин к 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 минут мы написали плагин, который “уникализирует” текст. Все просто…

Метки:

Посмотрите:

Тэги:

Leave a Comment