def run(project): task = json.loads(request.form['task']) project_info = { 'name': project, 'status': 'DEBUG', 'script': request.form['script'], } fetch_result = {} start_time = time.time() try: fetch_result = app.config['fetch'](task) response = rebuild_response(fetch_result) module = build_module(project_info, { 'debugger': True }) ret = module['instance'].run(module['module'], task, response) except Exception, e: type, value, tb = sys.exc_info() tb = hide_me(tb, globals()) logs = ''.join(traceback.format_exception(type, value, tb)) result = { 'fetch_result': fetch_result, 'logs': logs, 'follows': [], 'messages': [], 'result': None, 'time': time.time() - start_time, }
def run(project): task = utils.decode_unicode_obj(json.loads(request.form['task'])) project_info = { 'name': project, 'status': 'DEBUG', 'script': request.form['script'], } fetch_result = {} start_time = time.time() try: fetch_result = app.config['fetch'](task) response = rebuild_response(fetch_result) module = build_module(project_info, { 'debugger': True }) ret = module['instance'].run(module['module'], task, response) except Exception: type, value, tb = sys.exc_info() tb = utils.hide_me(tb, globals()) logs = ''.join(traceback.format_exception(type, value, tb)) result = { 'fetch_result': fetch_result, 'logs': logs, 'follows': [], 'messages': [], 'result': None, 'time': time.time() - start_time, } else: result = { 'fetch_result': fetch_result, 'logs': ret.logstr(), 'follows': ret.follows, 'messages': ret.messages, 'result': ret.result, 'time': time.time() - start_time, } result['fetch_result']['content'] = response.text try: # binary data can't encode to JSON, encode result as unicode obj # before send it to frontend return json.dumps(utils.unicode_obj(result)), 200, {'Content-Type': 'application/json'} except Exception: type, value, tb = sys.exc_info() tb = utils.hide_me(tb, globals()) logs = ''.join(traceback.format_exception(type, value, tb)) result = { 'fetch_result': "", 'logs': logs, 'follows': [], 'messages': [], 'result': None, 'time': time.time() - start_time, } return json.dumps(utils.unicode_obj(result)), 200, {'Content-Type': 'application/json'}
def setUp(self): self.project = "test.project" self.script = open(os.path.join(os.path.dirname(__file__), 'data_handler.py')).read() self.env = { 'test': True, } self.project_info = { 'name': self.project, 'status': 'DEBUG', } data = build_module({ 'name': self.project, 'script': self.script }, {'test': True}) self.module = data['module'] self.instance = data['instance']
def setUp(self): self.project = "test.project" self.script = open( os.path.join(os.path.dirname(__file__), 'data_handler.py')).read() self.env = { 'test': True, } self.project_info = { 'name': self.project, 'status': 'DEBUG', } data = build_module({ 'name': self.project, 'script': self.script }, {'test': True}) self.module = data['module'] self.instance = data['instance']
def run(project): start_time = time.time() try: task = utils.decode_unicode_obj(json.loads(request.form['task'])) except Exception: result = { 'fetch_result': "", 'logs': u'task json error', 'follows': [], 'messages': [], 'result': None, 'time': time.time() - start_time, } return json.dumps(utils.unicode_obj(result)), 200, { 'Content-Type': 'application/json' } project_info = { 'name': project, 'status': 'DEBUG', 'script': request.form['script'], } fetch_result = {} try: fetch_result = app.config['fetch'](task) response = rebuild_response(fetch_result) module = build_module(project_info, {'debugger': True}) ret = module['instance'].run(module['module'], task, response) except Exception: type, value, tb = sys.exc_info() tb = utils.hide_me(tb, globals()) logs = ''.join(traceback.format_exception(type, value, tb)) result = { 'fetch_result': fetch_result, 'logs': logs, 'follows': [], 'messages': [], 'result': None, 'time': time.time() - start_time, } else: result = { 'fetch_result': fetch_result, 'logs': ret.logstr(), 'follows': ret.follows, 'messages': ret.messages, 'result': ret.result, 'time': time.time() - start_time, } result['fetch_result']['content'] = response.text try: # binary data can't encode to JSON, encode result as unicode obj # before send it to frontend return json.dumps(utils.unicode_obj(result)), 200, { 'Content-Type': 'application/json' } except Exception: type, value, tb = sys.exc_info() tb = utils.hide_me(tb, globals()) logs = ''.join(traceback.format_exception(type, value, tb)) result = { 'fetch_result': "", 'logs': logs, 'follows': [], 'messages': [], 'result': None, 'time': time.time() - start_time, } return json.dumps(utils.unicode_obj(result)), 200, { 'Content-Type': 'application/json' }