| #!/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]  | 
|   |