preload
Янв 17

Как известно, пакеты в CentOS не отличаются своей свежестью, например, python там 2.4. А хотелось бы 2.6. В таком случае нас выручит IUS Community Project, поддерживающий самые свежие пакеты для Red Hat Enterprise Linux и его клонов, в числе которых есть PHP, MySQL, Python и прочее ПО, характерное для RHEL и подобных дистрибутивов.
Читать полностью »

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


Метки:
Авг 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.

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

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


Метки: