Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

SetEventProc [python]

тут можно задать вопрос по скриптингу
Post Reply
Half-Life
Novice
Novice
Posts: 86
Joined: 30.10.2012 12:06
Location: Одесса
Contact:

SetEventProc [python]

Post by Half-Life »

Всем привет, покажите рабочий пример ивента для пайтона, уже пол вечера сижу и чёт ничего не получается.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: SetEventProc [python]

Post by Vizit0r »

для встроенного питона?
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Half-Life
Novice
Novice
Posts: 86
Joined: 30.10.2012 12:06
Location: Одесса
Contact:

Re: SetEventProc [python]

Post by Half-Life »

Vizit0r wrote:для встроенного питона?
и для встроенного и для обёртки
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: SetEventProc [python]

Post by nah nah »

вот для внутреннего

Code: Select all

# -*- coding: utf-8 -*-
#! python3

def f(*args):
    print(args)

SetEventProc('evUnicodeSpeech', f)

while True:
    Wait(100)
вывод

Code: Select all

21:52:03:236 [Mistral]: ('123', 'Mistral', 5264)
то есть для спича

Code: Select all

def function(msg, sender_name, sender_serial):
Схожу с собакой погуляю, а как вернусь - гляну обёртку
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: SetEventProc [python]

Post by Vizit0r »

от себя добавлю настоятельную рекомендацию не трогать внутренний питон вообще.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: SetEventProc [python]

Post by nah nah »

внешний так же

Code: Select all

# -*- coding: utf-8 -*-
#! python3

import sys, os

import py_stealth


print = py_stealth.AddToSystemJournal

def f(*args):
    print(args)

def main():
    py_stealth.StartStealthSocketInstance(os.path.basename(sys.executable.encode()))
    py_stealth.SetEventProc('evUnicodeSpeech', f)
    while True:
        py_stealth.Wait(100)


if __name__ == '__main__':
    main()
и где-то виз писал, что ивенты отрабатывают во время работы Wait, так что лучше не пользоваться time.sleep
и лучше в целевой функции первой строкой отключать ивент, а потом включать в конце
и что-то там ещё было, но я забыл
Half-Life
Novice
Novice
Posts: 86
Joined: 30.10.2012 12:06
Location: Одесса
Contact:

Re: SetEventProc [python]

Post by Half-Life »

nah nah wrote: и где-то виз писал, что ивенты отрабатывают во время работы Wait, так что лучше не пользоваться time.sleep
и лучше в целевой функции первой строкой отключать ивент, а потом включать в конце
и что-то там ещё было, но я забыл
Вот где собака была зарыта) я time.sleep юзал. Спасибо. Можешь скайп свой в ЛС кинуть, ещё пара вопросов по питону есть)
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: SetEventProc [python]

Post by nah nah »

да не я уже спать =) Все вопросы по питону к Визу. Он знаток и любит с этим морочиться.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: SetEventProc [python]

Post by Vizit0r »

мне кажется, меня только что подставили.

встроенный питон имеет несколько капитальных неисправимых багов, и довольно много неявных, но не менее злых.

Так что я пока размышляю, прибивать его в след. версии, или пусть еще поживет.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Post Reply