def listen(self): while self.isConnected: bunch = self.ircSock.recv(4096) if not bunch: continue try: msg = decode(bunch) msgs = msg.split("\r\n") except UnicodeDecodeError: msg = str(bunch) bounding = msg[1] msg = msg[2:len(msg) - 5].replace("\\" + bounding, bounding).replace("\\\\", "\\") msgs = msg.split("\\r\\n") # for each message within received bunch ... for m in msgs: if not m: continue # ... generate Message-object, ... message = Message(self, m) self.logger.info("Received %s" % str(message)) # ... run built-in commands and ... if len(message.cmd): self.check_commands(message) # ... trigger events for plugins for event in message.get_events(): self.trigger(event, message) if self.shouldReconnect: self.connect()
def main(): bot.connect() while True: try: data = bot.recv() if data: data = utils.decode(data) bot.handleresponse(data) except objects.EmptyResponse: print("EMPTY RESPONSE!!") bot.handledisconnection()
def postproc(self, feature_maps, mode='train'): bbox_tensors = [] if mode == 'train': for i, fm in enumerate(feature_maps): bbox_tensor = decode_train(fm, self.num_class, self.strides, self.anchors, i, self.xyscale) bbox_tensors.append(fm) bbox_tensors.append(bbox_tensor) else: for i, fm in enumerate(feature_maps): bbox_tensor = decode(fm, self.num_class, i) bbox_tensors.append(bbox_tensor) return bbox_tensors
def pluginHandling(self, plugin): sent = 0 lastsent = time.time() while True: send = plugin.queue_out.get() if time.time() - lastsent > 10: sent = 0 self.logger.info("-> '{}'".format(decode(send))) self.send(send) lastsent = time.time() sent += 1 if sent >= 5: time.sleep(1)
def plus_one(self, o_index: int, user_id: int, server_id: int): """ Adds a vote :return: -1 -> person already voted False -> no such option True -> everything is ok """ if not self.in_progress(server_id): return False data = decode(self.redis.hgetall(server_id)) voters, vote_counts, options = loads(data.get("voters")), loads( data.get("votes")), loads(data.get("choices")) # Missing option if o_index > len(options) - 1: return False # Negative number if o_index < 0: return False # Add the voter to the list if user_id in voters: # Error: That person has already voted return -1 else: voters.append(user_id) # Add +1 to option at index vote_counts[o_index] += 1 # Choice list doesn't change payload = { "votes": dumps(vote_counts), "voters": dumps(voters), } return self.redis.hmset(server_id, payload)
if input("Do you want to display every removed key? (y/n) ").lower() == "y": logging.basicConfig(level=logging.DEBUG) else: logging.basicConfig(level=logging.INFO) init = time.monotonic() print("Verifying server data...") red = ServerHandler.get_handler(asyncio.get_event_loop()) config_keys = list(server_defaults.keys()) c = 0 for server in red.redis.scan_iter(match="server:*"): server = decode(server) fields = decode(red.redis.hgetall(server)) for key, value in fields.items(): if key not in config_keys: log.debug("Clearing key: {}".format(key)) red.redis.hdel(server, key) c += 1 if c != 0: print("Done, {} entries fixed.".format(c)) else: print("Done, no obsolete keys.")
trans = TranslationManager() languages = [l for l in trans.meta.keys()] print(f"Current languages: {', '.join(languages)}") # Connect to redis db print("Connecting to redis...") red: StrictRedis = ServerHandler.get_handler(asyncio.get_event_loop()).redis print("Iterating though servers...") server_count: int = 0 language_use: dict = {a: 0 for a in languages} for s in red.scan_iter(match="server:*"): raw_key: str = decode(s) server_id: int = int(raw_key.split(":")[1]) server_lang: str = decode(red.hget(raw_key, "lang")) print(f"Found server: {server_id} with language: '{server_lang}'") if server_lang is None: language_use["en"] += 1 else: if "-" in server_lang: l, r = server_lang.split("-", maxsplit=1) server_lang = f"{l}_{r.upper()}" language_use[server_lang.replace("-", "_")] += 1 server_count += 1
def plot(self): result = self.run_command() if result.returncode == 1: raise PlottingError('Unknown') return url(HOST, decode(result.stdout), no_cache_params())