def setup_message_handler(): def handler(message): erlang.call(Atom("python2_tests"), Atom("test_callback"), [(Atom("message"), message)]) erlang.set_message_handler(handler) return Atom("ok")
def register_handler(pid): def handler(_msg): do_training(pid) set_message_handler(handler) return Atom(b"ok")
def register_handler(port, baudrate): SER = connect( port, baudrate) if not SER: return (Atom(b'failed'), Atom(b'serial connection failed')) def handler(message): publish(SER, message) set_message_handler(handler) t = threading.Thread(target=on_serial, args=[SER]) t.setDaemon(True) t.start() return (Atom(b'ok'), Atom(b'connected'))
def register_video(pid, filename): global encoder def handler(message): encoder.downsize_video() # cast(pid, Atom(b'ok')) encoder = VideoEncoder(pid, filename) if not encoder.check_video_size(): return (Atom(b'error'), Atom(b'unknown_size')) set_message_handler(handler) return (Atom(b'ok'),)
def register_handler(dest): global testVar, erlPID print(dest) erlPID = dest testVar = 0 def handler(message): global testVar print(message) testVar += 1 print(testVar) set_message_handler(handler) return Atom("ok")
def register_handler(dest): def handler(message): erlang.cast(dest, message) print(message) def finishedCallback(event): erlang.cast(dest, (Atom(b"$gen_cast"), Atom(b"finished"))) # without the prefix '$gen_cast' the message is not recognized as cast by gen_server print("*** Python youtube player finished playing ***") erlang.set_message_handler(handler) events.event_attach(vlc.EventType.MediaPlayerEndReached, finishedCallback) return Atom(b"ok")
def register_handler(dest): pygame.init() windowSize = [1000, 1000] global display display = pygame.display.set_mode(windowSize) pygame.display.set_caption("ANTS ARE LIFE") display.fill(PLAIN) clock = pygame.time.Clock() clock.tick(60) set_message_handler(handler) print("WE ARE HERE NOW :(")
def setup_faulty_message_handler(): def handler(message): raise ValueError(message) erlang.set_message_handler(handler) return Atom("ok")
import time import sys #import erlport modules and functions from erlport.erlang import set_message_handler, cast from erlport.erlterms import Atom from datetime import datetime message_handler = None #reference to the elixir process to send result to #send message to pid def cast_message(pid, message): cast(pid, message) def register_handler(pid): #save message handler pid global message_handler message_handler = pid def handle_message(count): print("Python time: ") print(datetime.now()) #send to elixir cast_message(message_handler, (Atom('python'), 1)) set_message_handler(handle_message)
def start(): set_message_handler(message_handler) the_map.parsData()
def register_handler(dest): def handler(message): ## This makes a handler cast(dest, message) ## Sending a message to an erlang pid (dest). set_message_handler(handler) ## Set the handler so that python uses it return Atom("ok")
def register_handler(dest): set_message_handler(handler) return Atom("ok")
def register_handler(dest): def handler(message): cast(dest, message) set_message_handler(handler) return Atom("ok")
patient_height) count += 1 cur_patient_x = cur_patient_x + (self.offset + patient_width) cur_patient_x = self.offset cur_patient_y = cur_patient_y + (self.offset + patient_height) #Global bc handler for ErlPort exists at the module level. map = Map(50, 50, 400, 400) # Handler method for erlang server to communicate with. def handler(message): (MessageAtom, Name, Health) = message global_q.put((Name, Health)) # Set the message handler for erlport set_message_handler(handler) # Custom Textbox class for inputs class TextBox(): def __init__(self, x, y, prompt): self.focus = False self.x = x self.y = y self.textbox = eztext.Input(maxlength=5, color=RED, prompt=prompt) self.textbox.set_pos(x, y) self.outline = pygame.Rect(x, y - 10, 200, 40) self.width = 1 def draw(self, screen): pygame.draw.rect(screen, BLACK, self.outline, self.width) self.textbox.draw(screen)
def message_init(dest): def handler(message): sender(dest, message) set_message_handler(handler) return Atom("ok")