31

                        sql = "SELECT [left_if_desc],[right_if_desc] FROM [config_db].[imc_config].[tbl_link] WHERE left_symbol_id = %d"%(int_symbol_id);
                        try:
                            cou.execute(sql);
                        except Exception, e:
                            log_manager.GetInstance().CoutLog('database error:',Com_link_manager);
                            return oErrorBase.base_failed,False;
                        for (left_if_desc,right_if_desc) in cou.fetchall():
                            if ((str(left_if_desc).find(str(p_str_inter) + '(E1)') != -1 and 'N/A' != str(right_if_desc)) or (p_str_inter == str(left_if_desc) and 'N/A' != right_if_desc)):
                                conn.close();
                                return oErrorBase.base_succeed,True;
                        sql = "SELECT [left_if_desc],[right_if_desc] FROM [config_db].[imc_config].[tbl_link] WHERE right_symbol_id = %d"%(int_symbol_id);
                        try:
                            cou.execute(sql);
                        except Exception, e:
                            log_manager.GetInstance().CoutLog('database error:',Com_link_manager);
                            return oErrorBase.base_failed,False;
                        for (left_if_desc,right_if_desc) in cou.fetchall():
                            if ((str(right_if_desc).find(str(p_str_inter) + '(E1)') != -1 and 'N/A' != str(left_if_desc)) or (p_str_inter == str(right_if_desc) and 'N/A' != left_if_desc)):
                                conn.close();
                                return oErrorBase.base_succeed,True;
    
        conn.close();
        log_manager.GetInstance().CoutLog('end to exec IsDevInterHasLinkInToPo',Com_link_manager);
        return oErrorBase.base_succeed,False;


    def IsMultiDevInTopo(self,p_str_dev_ip,p_str_symbol_name):
        log_manager.GetInstance().CoutLog('begin to exec IsMultiDevInToPo',Com_link_manager);
        int_link_num = 0;
        conn = None;
        cou = None;
        sql = '';
        try:
            conn=pymssql.connect(host=self.__db_ip,user=self.__db_user,password=self.__db_pw,database="config_db",charset = "utf8");
            cou=conn.cursor();
            sql = "SELECT [symbol_id] FROM [config_db].[imc_config].[tbl_symbol] WHERE symbol_name = '%s'"%(p_str_symbol_name);
            cou.execute(sql.decode('GBK'));
        except Exception, e:
            log_manager.GetInstance().CoutLog('database error:',Com_link_manager);
            return oErrorBase.base_failed,False;
        for symbol_id in cou.fetchall():
            str_symbol_id = str(symbol_id);
            pa_id = re.compile('\d+');
            ma_id = pa_id.search(str_symbol_id);
            if ma_id:
                str_symbol_id = ma_id.group();
            int_parent_id = int(str_symbol_id);
            sql = "SELECT [dev_ip],[dev_id] FROM [config_db].[imc_config].[tbl_dev]";
            try:
                cou.execute(sql);
            except Exception, e:
                log_manager.GetInstance().CoutLog('database error:',Com_link_manager);
                return oErrorBase.base_failed,False;
            for (dev_ip,dev_id) in cou.fetchall():
                if (p_str_dev_ip == str(dev_ip)):
                    self.__str_dev_ip = p_str_dev_ip;
                    sql = "SELECT [symbol_id] FROM [config_db].[imc_config].[tbl_symbol] WHERE  parent_symbol_id = %d AND phy_id = %d"%(int_parent_id,dev_id);
                    try:
                        cou.execute(sql);
                    except Exception, e:
                        log_manager.GetInstance().CoutLog('database error:',Com_link_manager);
                        return oErrorBase.base_failed,False;
                    for symbol_id in cou.fetchall():
                        int_symbol_id = self.__DecimalToInt(str(symbol_id));
                        sql = "SELECT [left_if_desc],[right_if_desc] FROM [config_db].[imc_config].[tbl_link] WHERE left_symbol_id = %d"%(int_symbol_id);
                        try:
                            cou.execute(sql);
                        except Exception, e:
                            log_manager.GetInstance().CoutLog('database error:',Com_link_manager);
                            return oErrorBase.base_failed,False;
                        for (left_if_desc,right_if_desc) in cou.fetchall():
                            if ('N/A' != right_if_desc and 'N/A' != left_if_desc):
                                int_link_num = int_link_num + 1;
                        sql = "SELECT [left_if_desc],[right_if_desc] FROM [config_db].[imc_config].[tbl_link] WHERE right_symbol_id = %d"%(int_symbol_id);
                        try:
                            cou.execute(sql);
                        except Exception, e:
                            log_manager.GetInstance().CoutLog('database error:',Com_link_manager);
                            return oErrorBase.base_failed,False;
                        for (left_if_desc,right_if_desc) in cou.fetchall():
                            if ('N/A' != right_if_desc and 'N/A' != left_if_desc):
                                int_link_num = int_link_num + 1;
    
        conn.close();
        log_manager.GetInstance().CoutLog('end to exec IsMultiDevInToPo',Com_link_manager);
        if (int_link_num > 6):
            return oErrorBase.base_succeed,True;
        else:
            return oErrorBase.base_succeed,False;


    def GetDevLinkInfoFromDB(self,str_dev_ip,str_symbol_name,o_file,b_write_o_file):
        log_manager.GetInstance().CoutLog('begin to exec GetDevLinkInfoFromDB',Com_link_manager);
        self.__dict_link = {};
        conn = None;
        cou = None;
        sql = '';
        try:
            conn=pymssql.connect(host=self.__db_ip,user=self.__db_user,password=self.__db_pw,database="config_db",charset = "utf8");
            cou=conn.cursor();
            sql = "SELECT [symbol_id] FROM [config_db].[imc_config].[tbl_symbol] WHERE symbol_name = '%s'"%(str_symbol_name);
            cou.execute(sql.decode('GBK'));
        except Exception, e:
            log_manager.GetInstance().CoutLog('database error:',Com_link_manager);
            return oErrorBase.base_failed;
        for symbol_id in cou.fetchall():
            str_symbol_id = str(symbol_id);
            pa_id = re.compile('\d+');
            ma_id = pa_id.search(str_symbol_id);
            if ma_id:
                str_symbol_id = ma_id.group();
            int_parent_id = int(str_symbol_id);
            sql = "SELECT [dev_ip],[dev_id] FROM [config_db].[imc_config].[tbl_dev]";
            try:
                cou.execute(sql);
            except Exception, e:
                log_manager.GetInstance().CoutLog('database error:',Com_link_manager);
                return oErrorBase.base_failed;
            for (dev_ip,dev_id) in cou.fetchall():
                if (str_dev_ip == str(dev_ip)):
                    self.__str_dev_ip = str_dev_ip;
                    sql = "SELECT [symbol_name] FROM [config_db].[imc_config].[tbl_symbol] WHERE  parent_symbol_id = %d AND phy_id = %d"%(int_parent_id,dev_id);
                    try:
                        cou.execute(sql);
阅读更多
个人分类: cocos2dx
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭