async def _handleNewClient(reader, writer): client_id = generateUniqueID("_NETWORK_CLIENT_") SERVER_MESSAGE_QUEUE[client_id] = [] await asyncio.gather(_listenToClient(client_id, reader), _messageClient(client_id, writer)) reader.close() writer.close()
def text_to_image(self, text, size=None): try: return self.loaded_string_paths[text] except KeyError: texpath = generateUniqueID(GFONT2_UID) self.loaded_string_paths[text] = texpath self.loaded_strings[text] = display.createSpritePlaceholder( None, self.antialiasing) self.loaded_strings[text].set_image_from_buffer( texpath, *self.text_to_image_buffer(text)) return texpath
def _callQuery(key, *args, **kwargs): newkey = generateUniqueID("_query_callback_") returnval = [kwargs.pop("query_default", None)] #hacky workaround for scoping reasons def query_callback(newval): returnval[0] = newval #capture returnval _addListener(newkey, query_callback, 0) _callEvent(key, newkey, *args, **kwargs) _clearListeners(newkey) return returnval[0]
def delay(listener, priority = 0, *args, **kwargs): if not _currently_running_events: try: priority = priority() except: pass newid = generateUniqueID("DELAY_EVENT") try: newkey = _delayed_events[priority].append((listener, args, kwargs, newid)) except KeyError: _delayed_events[priority] = sDict() newkey = _delayed_events[priority].append((listener, args, kwargs, newid)) _delayed_events_ids[newid] = (priority, newkey) return newid else: raise DelayedEventException("Cannot delay events in a delayed event")
def __init__(self, listener, time, repeating, args, kwargs): try: callablename = listener.__name__ except AttributeError: callablename = "GENERIC_UNNAMED_FUNCTION" self.eventid = generateUniqueID(callablename + "_FRAME_BASED_EVENT_") self.listener = listener self.time = max(1, int(math.ceil(time))) #just in case a float was passed self.key = None self.repeating = repeating self.paused = set() self.pause_time = self.time self.args = args self.kwargs = kwargs self.delete_me = False self._unscheduled = False
def __init__(self, listener, time, repeating, args, kwargs): try: callablename = listener.__name__ except AttributeError: callablename = "GENERIC_UNNAMED_FUNCTION" self.eventid = generateUniqueID(callablename + "_REALTIME_EVENT_") self.listener = listener self.time = time self.repeating = repeating self.key = None self.handle = None self.args = args self.kwargs = kwargs self.paused = set() self.time_active = Timer() self.pause_timer = Timer() self.time_active.Start() self.scheduler_time = 0 self._destroyed = False self._repeat_started = False