#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
#  
 | 
#  
 | 
##@package PyMapTable.py  
 | 
# @todo: py±í(°üÀ¨º¯Êý¡¢Àà)  
 | 
# @author:hxp  
 | 
# @date 2013-10-15 21:10  
 | 
# @version 2.0  
 | 
#  
 | 
# ¼òҪ˵Ã÷:  
 | 
# ÏêϸÃèÊö:   
 | 
# @change: "2014-03-26 20:40" xmnathan ×°±¸½ø½×±í  
 | 
# @change: "2014-06-21 15:20" hxp ×Ô¶¨ÒåÉ̵ê±í  
 | 
# @change: "2014-10-16 11:30" xmnathan Ôö¼ÓÊØ»¤¸½¼ÓÊôÐﱒ  
 | 
# @change: "2014-11-11 16:00" hxp Ôö¼Ó³É¾Í±í  
 | 
# @change: "2015-02-26 12:00" hxp Ôö¼Ó´óʦ±í  
 | 
# @change: "2015-05-15 16:30" hxp Ôö¼Ó×°±¸Éý¼¶¾Ñé±í  
 | 
# @change: "2015-07-27 14:00" hxp Ôö¼ÓÇ¿»¯ÊôÐÔ¼°Ç¿»¯±ÈÀý±í  
 | 
# @change: "2015-07-28 11:20" ljd Ôö¼ÓÏû·ÑVIP±í  
 | 
# @change: "2015-08-19 13:50" xdh Ð޸ıí¸ñ»ñÈ¡·½Ê½,Ö§³ÖÖØ¶Á  
 | 
# @change: "2016-01-26 15:00" hxp PY±íÖ§³ÖÖØ¶Á  
 | 
#---------------------------------------------------------------------  
 | 
"""Version = 2016-01-26 15:00"""  
 | 
#---------------------------------------------------------------------  
 | 
#µ¼Èë  
 | 
import PythonData  
 | 
import ShareDefine  
 | 
import GameWorld  
 | 
import ReadChConfig  
 | 
  
 | 
AllTableInfo = {} # ´æ´¢±í¸ñÐÅÏ¢×Öµä  
 | 
  
 | 
## »ñÈ¡±í¸ñÐÅÏ¢  
 | 
#  @param tableName ÎļþÃû  
 | 
#  @return ±íÐÅÏ¢  
 | 
def GetPyMapTable(tableName):  
 | 
    global AllTableInfo  
 | 
      
 | 
    #ÊÇ·ñÖØ¶ÁËùÓеÄÅäÖÃ±í  
 | 
    if GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ReloadConfig):  
 | 
        ReadChConfig.ClearAllConfig()    
 | 
    else:  
 | 
        #ÕÒµ½ÁË,¾Í·µ»Ø  
 | 
        if AllTableInfo.has_key(tableName):  
 | 
            return AllTableInfo[tableName]  
 | 
          
 | 
    table = PythonData.FileData("PyMapTable\\%s.txt" % tableName, 0, 2)  
 | 
    AllTableInfo[tableName] = table  
 | 
    return table  
 | 
  
 | 
## Çå³ýÅäÖÃ  
 | 
#  @param None  
 | 
#  @return None  
 | 
def ClearPyMapTable():  
 | 
    global AllTableInfo  
 | 
      
 | 
    AllTableInfo = {}  
 | 
    return  
 | 
  
 | 
## »ñÈ¡Ìõ¼þ»ñȡһÌõpy±í¸ñÊý¾Ý  
 | 
def FindTopOnePyTableData(tableName, fieldsConditionDict):  
 | 
    pyTable = GetPyMapTable(tableName)  
 | 
    resultList = pyTable.GetRecordByDic(fieldsConditionDict, 1)  
 | 
    if len(resultList) <= 0:  
 | 
        GameWorld.ErrLog("FindTopOnePyTableData()ÕÒ²»µ½Êý¾Ý!tableName=%s,condition=%s" % (tableName, str(fieldsConditionDict)))  
 | 
        return {}  
 | 
      
 | 
    return resultList[0]  
 | 
  
 |