def __init__(self): self.handler = NinjaHandle(self) self.handler_thread = threading.Thread(target=self.handler.process) self.heart = NinjaHeart(self) self.heart_thread = threading.Thread(target=self.heart.process) self.command = NinjaCommand(self) # data self.group_msg_queue = NinjaQueue() pass
def __init__(self): super(NinjaRobot, self).__init__() self.controller = NinjaController(self) self.memory = NinjaMemory(self) self.heart = NinjaHeart(self) self.controller.add_observer(self) pass
class NinjaRobot(object): def __init__(self): self.handler = NinjaHandle(self) self.handler_thread = threading.Thread(target=self.handler.process) self.heart = NinjaHeart(self) self.heart_thread = threading.Thread(target=self.heart.process) self.command = NinjaCommand(self) # data self.group_msg_queue = NinjaQueue() pass # ---------------------------------------------------------------------------------------------------- def run(self): self.handler.login() self.handler_thread.start() self.heart_thread.start() self.command.process() # data # ---------------------------------------------------------------------------------------------------- def load_config(self): load_config() def load_dict(self): self.heart.load_dict() def save_dict(self): self.heart.save_dict() def load_reply(self): self.heart.load_reply() def push_group_message(self, msg): self.group_msg_queue.push(msg) def pop_group_message(self): return self.group_msg_queue.pop() # handler # ---------------------------------------------------------------------------------------------------- def send_to_group(self, uin, msg): self.handler.send_to_group(uin, msg) # heart # ---------------------------------------------------------------------------------------------------- def load_reply(self): self.heart.load_reply()
class NinjaRobot(NinjaObject): def __init__(self): super(NinjaRobot, self).__init__() self.controller = NinjaController(self) self.memory = NinjaMemory(self) self.heart = NinjaHeart(self) self.controller.add_observer(self) pass # ---------------------------------------------------------------------------------------------------- def run(self): self.controller.start() self.memory.start() self.heart.start() super(NinjaRobot, self).run() def process(self): time.sleep(1) def exit(self): self.heart.stop() self.heart.join() self.memory.stop() self.memory.join() self.controller.stop() self.controller.join() print("exit") # ---------------------------------------------------------------------------------------------------- def on_key_input(self, char): if char == '\x03': self.stop() return True return False