def callTarget(self, targetKey, *args, **kw): target = self.getTarget(targetKey) if not target: logger.error('command %s not Found on service' % str(targetKey)) print self._targets return None # if targetKey not in self.unDisplay: # logger.info("call method %s on service[%s]" % # (target.__name__, self._name)) t = time.time() try: dynamic_id = args[0] # logger.debug('key and dynamic_id,%s,%s', dynamic_id, targetKey) if targetKey != 'enter_scene_remote': _player = PlayersManager().get_player_by_dynamic_id(dynamic_id) # print 'find player:', _player if not _player: return {'result': False, 'result_no': 1, 'message': u''} args = args[1:] kw['player'] = _player response = target(*args, **kw) else: response = target(*args, **kw) except Exception, e: logger.exception(e) return None
def pvp_award_tick(): tick_time = game_configs.base_config.get('arena_shorttime_points_time') reactor.callLater(tick_time, pvp_award_tick) try: pvp_award() except Exception, e: logger.exception(e)
def callTarget(self, targetKey, *args, **kw): target = self.getTarget(targetKey) logger.info("call method begin %s on service[%s]", target.__name__, self._name) if not target: print 'targetKey', targetKey logger.error('command %s not Found on service' % str(targetKey)) return None # if targetKey not in self.unDisplay: # logger.info("call method %s on service[%s]" % # (target.__name__, self._name)) t = time.time() dynamic_id = args[0] try: #logger.debug('key and dynamic_id,%s,%s', dynamic_id, targetKey) if targetKey != 'enter_scene_remote': _player = PlayersManager().get_player_by_dynamic_id(dynamic_id) # print 'find player:', _player if not _player: logger.error('cantfind player dynamic id:%s', dynamic_id) return {'result': False, 'result_no': 1, 'message': u''} args = args[1:] kw['player'] = _player response = target(*args, **kw) else: response = target(*args, **kw) except AuthError, e: logger.exception(e) remote_gate.disconnect_remote(dynamic_id) return None
def __write_data(self, connection, topic_id, msg): # connection_id = connection.dynamic_id try: connection.safeToWriteData(topic_id, msg) except Exception, e: logger.exception(e) e = "%s, %s:%s" % (e, topic_id, msg) logger.error(e)
def getAllPkByFkInDB(tablename, pkname, prere, conn=None): """根据所有的外键获取主键ID """ prere = FormatCondition(prere) sql = """Select `%s` from `%s` where %s""" % (pkname, tablename, prere) cursor = conn.cursor() try: cursor.execute(sql) except Exception, e: logger.exception(e) logger.error(sql)
def UpdateWithDict(tablename, props, prere, conn=None): """更新记录 """ sql = forEachUpdateProps(tablename, props, prere) cursor = conn.cursor() count = 0 try: count = cursor.execute(sql) conn.commit() except Exception, e: logger.exception(e) logger.error(sql)
def GetSomeRecordInfo(tablename, preres, props=None, conn=None): """获取单条数据的信息""" if props: caret = ',' props_format = caret.join(str(_) for _ in props) sql = """Select %s from `%s` where %s""" % (props_format, tablename, preres) else: sql = """Select * from `%s` where %s""" % (tablename, preres) cursor = conn.cursor(cursor=DictCursor) try: cursor.execute(sql) except Exception, e: logger.exception(e) logger.error(sql)
def UpdateWithDict(tablename, props, prere, conn=None): """更新记录 """ sql = forEachUpdateProps(tablename, props, prere) cursor = conn.cursor() count = 0 try: count = cursor.execute(sql) conn.commit() except Exception, e: logger.exception(e) logger.error(sql) cursor.close() return False
def InsertIntoDB(tablename, data, conn=None): """写入数据库 """ for _ in data.values(): if _ == 'None': raise Exception('None value') sql = forEachPlusInsertProps(tablename, data) cursor = conn.cursor() count = 0 try: count = cursor.execute(sql) conn.commit() except Exception, e: logger.exception(e) logger.error(sql)
def DeleteFromDB(tablename, props=None, conn=None): """从数据库中删除""" if props: prers = FormatCondition(props) sql = """DELETE FROM %s WHERE %s ;""" % (tablename, prers) else: sql = """DELETE FROM %s ;""" % tablename cursor = conn.cursor() count = 0 try: count = cursor.execute(sql) conn.commit() except Exception, e: logger.exception(e) logger.error(sql)
def get_drop_items(self): """获取大包内物品""" drop_items = [] try: for small_bag_id, small_bag_times, is_uniq in \ zip(self.big_bag.small_packages, self.big_bag.small_package_times, self.big_bag.is_uniq_list): small_bag = SmallBag(small_bag_id) items = small_bag.get_drop_items() if is_uniq: ids = random_multi_pick_without_repeat(items, small_bag_times) else: ids = random_multi_pick(items, small_bag_times) for drop_id in ids: drop_items.append(small_bag.get_drop_item(drop_id)) except Exception, e: logger.exception(e)
def _run(self): """ """ self.connectionMade() try: while True: data = self.transport.recv(1024) if not data: break # gevent.spawn(self.dataReceived,data) self.dataReceived(data) except Exception, e: if not isinstance(e, socket.error): logger.exception(e) self.connectionLost(reason=e)
def get_drop_items(self): """获取大包内物品""" drop_items = [] try: for small_bag_id, small_bag_times, is_uniq in \ zip(self.big_bag.small_packages, self.big_bag.small_package_times, self.big_bag.is_uniq_list): small_bag = SmallBag(small_bag_id) items = small_bag.get_drop_items() if is_uniq: ids = random_multi_pick_without_repeat( items, small_bag_times) else: ids = random_multi_pick(items, small_bag_times) for drop_id in ids: drop_items.append(small_bag.get_drop_item(drop_id)) except Exception, e: logger.exception(e)
def __write_data(self, connection_id, topic_id, msg): connection = self.getConnectionByID(connection_id) if not connection: connection = self._queue_conns.get(connection_id, None) if not connection: return try: connection.safeToWriteData(topic_id, msg) except Exception, e: e = "%s, %s:%s" % (e, topic_id, msg) logger.exception(e) self.dropConnectionByID(connection_id) dynamic_id = connection.transport.sessionno if dynamic_id != 0: remote_gate = GlobalObject().remote['gate'] remote_gate.net_conn_lost_remote_noresult(dynamic_id)
def callTarget(self, target_key, *args, **kw): """call Target by Single @param conn: client connection @param target_key: target ID @param data: client data """ target = self.getTarget(target_key) if not target: logger.error('the command %s not Found on service:[%s]' % (target_key, self._name)) return None # if target_key not in self.unDisplay: # logger.info("call method %s on service:[%s]" % (target.__name__, self._name)) t = time.time() try: response = target(target_key, *args, **kw) except Exception, e: logger.exception(e) return None
def callTarget(self, targetKey, *args, **kw): """call Target @param conn: client connection @param targetKey: target ID @param data: client data """ target = self.getTarget(targetKey) if not target: logger.error('command %s not Found on service' % str(targetKey)) return None # if targetKey not in self.unDisplay: # logger.info("call method %s on service[%s]" % # (target.__name__, self._name)) t = time.time() try: response = target(*args, **kw) except Exception, e: logger.exception(e) return None
def do_pvp_daily_award_tick(): # reactor.callLater(60*60*24, do_pvp_daily_award_tick) try: pvp_daily_award() except Exception, e: logger.exception(e)