BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #16215同步于 2016/9/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

问错误原因

lsaby
2016/9/30镜像同步9 回复
def getTestResultFromDB(self, resultID): t_results = self.getDataFromDB(queryType='ResultDetails', resultSetID=resultID) results = self.formatResult(t_results) self.utils.setLog("getTestResultFromDB: %s" % results) return results def getDataFromDB(self, **kwargs): # Connects to the racetrack database and creates a Cursor resultID = -1 queryType = kwargs.get('queryType') query = '' result = '' if queryType == 'ResultID': branch = kwargs.get('branch') today = kwargs.get('today') query = "SELECT ID FROM ResultSet WHERE Status = 'Complete' and Branch='%s' " \ "and User = 'wincdk' and UNIX_TIMESTAMP(StartTime)>UNIX_TIMESTAMP('%s') " \ "ORDER BY EndTime DESC LIMIT 1" % (branch, today) elif queryType == 'ResultDetails': resultSetID = kwargs.get('resultSetID') query = "SELECT Description,Result,Feature,TCMSID FROM Result WHERE ResultSetID = '%s'" % resultSetID elif queryType == 'BugsDesc': bug_id = kwargs.get('bug_id') query = "SELECT short_desc FROM bugs WHERE bug_id = '%s'" % bug_id elif queryType == 'BugsID': bug_id = kwargs.get('bug_id') query = "SELECT cf_test_id FROM bugs WHERE bug_id = '%s'" % bug_id elif queryType == 'GetClientOS': resultSetID = kwargs.get('resultSetID') query = "SELECT HostOS FROM ResultSet WHERE ID = '%s'" % resultSetID elif queryType == 'GetTestType': resultSetID = kwargs.get('resultSetID') query = "SELECT TestType FROM ResultSet WHERE ID = '%s'" % resultSetID elif queryType == 'GetBuildNum': resultSetID = kwargs.get('resultSetID') query = "SELECT BuildID FROM ResultSet WHERE ID = '%s'" % resultSetID elif queryType == 'GetBuildType': resultSetID = kwargs.get('resultSetID') query = "SELECT BuildType FROM ResultSet WHERE ID = '%s'" % resultSetID elif queryType == 'GetParams': resultSetID = kwargs.get('resultSetID') query = "SELECT HostOS,TestType,BuildID,BuildType,Branch FROM ResultSet WHERE ID = '%s'" % resultSetID else: self.utils.setLog('Query-type Input Error') self.utils.setLog("query sql: %s" % query) # Retrieving Branch, BuildID and BuildType from the database try: self.cursor.execute(query) result = self.cursor.fetchall() except Exception, e: self.printDBError(e) return result def formatResult(self, finalRes): self.utils.setLog("Final Result: %s" % str(finalRes)) results = [] for i in finalRes: res_name = '' res_val = '' res_prot = '' res_TCMSID = '' res_bug = '' pattern4Desc = re.compile(r'Test\d*:(?P<ID>.*)') pattern4TCMSID = re.compile(r'\d') for t in i: if 'Test' in t: res_name = str(pattern4Desc.findall(str(t))).strip('[\']') elif 'WinCDKBATs' in t: res_prot = str(t).split('_').pop() elif pattern4TCMSID.match(t): res_TCMSID = str(t) else: if 'RERUNPASS' in t: t = 'PASS' res_val = str(t) results.append({'info': res_name,'prot': res_prot,'val': res_val,'testid': res_TCMSID,'bugid': res_bug}) results.sort() iCount = 1 format_results = [] for item in results: item.update({'num': iCount}) iCount += 1 format_results.append(item) return format_results main: results = racetrackDB.getTestResultFromDB(resultID=params['resultid']) Traceback (most recent call last): File "sendreport.py", line 668, in <module> main() File "sendreport.py", line 623, in main results = racetrackDB.getTestResultFromDB(resultID=params['resultid']) File "sendreport.py", line 416, in getTestResultFromDB results = self.formatResult(t_results) File "sendreport.py", line 476, in formatResult if 'Test' in t: TypeError: argument of type 'NoneType' is not iterable
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
nuanyangyang机器人#1 · 2016/9/30
t的值是None
nuanyangyang机器人#2 · 2016/9/30
另外, - 在byr论坛贴代码请使用语法高亮功能。 - Python请用4个空格锁进 - 不要用字符串格式化来构建SQL语句!不要用字符串格式化来构建SQL语句!不要用字符串格式化来构建SQL语句!重要的事情要说三遍。请看漫画https://xkcd.com/327/以及专门针对这个问题的网站,上面有Python的解决方案:http://bobby-tables.com/
jackling机器人#3 · 2016/9/30
我就猜到暖神会说不要用字符串格式化构建SQL
lsaby机器人#4 · 2016/9/30
好的造啦~ 【 在 nuanyangyang 的大作中提到: 】 : 另外, : - 在byr论坛贴代码请使用语法高亮功能。 : - Python请用4个空格锁进 : ...................
wdjwxh机器人#5 · 2016/9/30
nuan神怎么就快速找到这些漫画的。。 【 在 nuanyangyang 的大作中提到: 】 : 另外, : - 在byr论坛贴代码请使用语法高亮功能。 : - Python请用4个空格锁进 : ...................
fjq机器人#6 · 2016/9/30
学到了[ema11] 【 在 nuanyangyang 的大作中提到: 】 : 另外, : - 在byr论坛贴代码请使用语法高亮功能。 : - Python请用4个空格锁进 : ...................
nuanyangyang机器人#7 · 2016/9/30
这个漫画太著名了啊,little bobby tables这个梗也太有名了。 【 在 wdjwxh 的大作中提到: 】 : nuan神怎么就快速找到这些漫画的。。
HaSep机器人#8 · 2016/10/2
pdb 单步调一下试试就知道了,t变量不能迭代
lsaby机器人#9 · 2016/10/2
知道啦谢谢~ 【 在 HaSep 的大作中提到: 】 : pdb 单步调一下试试就知道了,t变量不能迭代