def handle(self, message): print "handles mapobject", message subtype = message.subtype object = message.unpacked_data Database.add(self.database, object) self.emit("got-new-message") return True
def handle(self, message): if message.subtype == JournalType.request: print "got new journal request", message Database.add(self.database, message.unpacked_data) self.emit("got-new-journal-request") return True elif message.subtype == JournalType.response: self.emit("got-new-journal-response")
def __init__(self, queue): Database.__init__(self) self.queue = queue self.dispatcher = None self.name = config.client.name self.id_stop = ObjectID(u"id_stop", None) self.id_start = ObjectID(u"id_start", None) self.id_current = ObjectID(u"id_current", None) self.id_nextstart = ObjectID(u"id_nextstart", None) self.id_nextstop = ObjectID(u"id_nextstop", None) self.get_ids() self.requested = False
def handle(self, message): print "handles mapobject", message subtype = message.subtype object = message.unpacked_data if subtype == ActionType.change: Database.change(self.database, object) self.database.emit("mapobject-changed", object) # if my mission was changed, change my mission if object.__class__ == MissionData: for unit in object.units: if self.controller is not None: if unit.id == self.controller.unit_data.id: self.emit("got-new-mission") elif subtype == ActionType.add: Database.add(self.database, object) # if a unit_data with my name was added, set it to mine if object.__class__ == UnitData: if self.controller is not None and object.name == self.controller.name: self.controller.unit_data = object # if a mission with my unit_data was added, assign me to it (show it) if object.__class__ == MissionData: print self.controller.unit_data.id for unit in object.units: if self.controller is not None: if unit.id == self.controller.unit_data.id: self.emit("got-new-mission") elif subtype == ActionType.delete: Database.delete(self.database, object) self.database.emit("mapobject-deleted", object) else: raise Error("Invalid subtype") return True
def delete(self, object): Database.delete(self, object) msg = Message(self.name, "server", MessageType.object, ActionType.delete, unpacked_data=object) self.queue.enqueue(msg.packed_data, msg.prio)
def __init__(self): Database.__init__(self, config.server.database) print "Connected to database at", config.server.database