返回信息流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
这是一条镜像帖。来源:北邮人论坛 / python / #16215同步于 2016/9/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
问错误原因
lsaby
2016/9/30镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
另外,
- 在byr论坛贴代码请使用语法高亮功能。
- Python请用4个空格锁进
- 不要用字符串格式化来构建SQL语句!不要用字符串格式化来构建SQL语句!不要用字符串格式化来构建SQL语句!重要的事情要说三遍。请看漫画https://xkcd.com/327/以及专门针对这个问题的网站,上面有Python的解决方案:http://bobby-tables.com/
好的造啦~
【 在 nuanyangyang 的大作中提到: 】
: 另外,
: - 在byr论坛贴代码请使用语法高亮功能。
: - Python请用4个空格锁进
: ...................
nuan神怎么就快速找到这些漫画的。。
【 在 nuanyangyang 的大作中提到: 】
: 另外,
: - 在byr论坛贴代码请使用语法高亮功能。
: - Python请用4个空格锁进
: ...................
学到了[ema11]
【 在 nuanyangyang 的大作中提到: 】
: 另外,
: - 在byr论坛贴代码请使用语法高亮功能。
: - Python请用4个空格锁进
: ...................
这个漫画太著名了啊,little bobby tables这个梗也太有名了。
【 在 wdjwxh 的大作中提到: 】
: nuan神怎么就快速找到这些漫画的。。