use ast.literal_eval instead of eval
@@ -88,6 +88,7 @@ | ||
88 | 88 | import calendar |
89 | 89 | import urllib2 |
90 | 90 | import urlparse |
91 | +import ast | |
91 | 92 | from datetime import datetime |
92 | 93 | from trac.core import * |
93 | 94 | from trac.config import Option, BoolOption, ListOption |
@@ -197,7 +198,7 @@ | ||
197 | 198 | |
198 | 199 | hudson_api_url = self.hudson_url + 'api/python' |
199 | 200 | try: |
200 | - hudson_json = eval(self.url_opener.open(hudson_api_url).readline()) | |
201 | + hudson_json = ast.literal_eval(self.url_opener.open(hudson_api_url).readline()) | |
201 | 202 | except: |
202 | 203 | self.env.log.debug("hudson_api_url='%s'" % (hudson_api_url)) |
203 | 204 | return |
@@ -208,7 +209,7 @@ | ||
208 | 209 | |
209 | 210 | job_api_url = get_job_url(job['url'] + 'api/python?depth=2&tree=builds[timestamp,result,url,number,description]', self.hudson_url) |
210 | 211 | try: |
211 | - json = eval(self.url_opener.open(job_api_url).readline()) | |
212 | + json = ast.literal_eval(self.url_opener.open(job_api_url).readline()) | |
212 | 213 | except: |
213 | 214 | self.env.log.debug("job_api_url='%s'" % (job_api_url)) |
214 | 215 | raise |