preload
Авг 14

Хочу поделиться маленьким скриптиком на питоне, облегчающим мне жизнь. Код, конечно, не самый лучший, заготовки конфигов можно вынести в отдельные файлы и читать оттуда, то же самое можно сделать и с классами но мне было так удобнее. Так же можно логировать действия скрипта, но с этим вполне справляется перенаправление вывод скрипта в файл. Предполагается, что у вас настроены bind и apache, а также установлена утилита apg для генерации паролей.
Читать полностью »

Связанные записи


Метки:
мая 28

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

Замена обратных кавычек (output=`mycmd myarg`):

output = Popen(["mycmd", "myarg"], stdout=PIPE).communicate()[0]

Замена пайпов (output=`dmesg | grep hda`):

p1 = Popen(["dmesg"], stdout=PIPE)
p2 = Popen(["grep", "hda"], stdin=p1.stdout, stdout=PIPE)
output = p2.communicate()[0]

Замена os.system() (sts = os.system(«mycmd» + » myarg»)), которая мне не подходила, потому что она не возвращает вывод программы, а передает его на стадартный вывод:

p = Popen("mycmd" + " myarg", shell=True)
sts = os.waitpid(p.pid, 0)

В общем, RTFM. Утром, в обед и вечером.

Связанные записи


Метки:
Апр 29

Вдогонку к предыдущему посту. Если вы хотите, чтобы в вашем джаббер-клиенте состояние бота показывалось как онлайн, то это можно сделать с помощью небольшой функции-обработчика:

def presence_handler(conn, event):
    from_jid = xmpp.protocol.JID(event.getFrom())
    presence_type = event.getType()
    if presence_type == 'subscribe':
        conn.send(xmpp.Presence(to = from_jid, typ = 'subscribed', show = 'online'))

Связанные записи


Метки:
Апр 27

Захотелось мне написать что-нибудь на питоне, чтобы иметь представление о языке. И задумал я изготовить джаббер-бота, который посредством гугла будет служить для переводческих целей. Собственно, далее следуют инструкции по написанию этого самого бота с использованием библиотеки xmpppy.

Читать полностью »

Связанные записи


Метки: