def run(self, kw, context): assignment = VariableAssignment(kw.assign) with StatusReporter(context, self._get_result(kw, assignment)): with assignment.assigner(context) as assigner: return_value = self._run(context, kw.args) assigner.assign(return_value) return return_value
def run(self, kw, context): assignment = VariableAssignment(kw.assign) variables = context.variables result = None status_reporter = None if sys.version_info[0] < 3: sys.exc_clear() try: args = self._resolve_arguments(kw.args, variables) with assignment.assigner(context) as assigner: with context.user_keyword: self._set_arguments(args, context) result = self._get_result(kw, assignment, context.variables) status_reporter = self.get_status_reporter(context, result) return_value = self._run(context, args, result) assigner.assign(return_value) return return_value except: if not result: result = self._get_result(kw, assignment, context.variables) if not status_reporter: status_reporter = self.get_status_reporter(context, result) raise finally: if status_reporter: status_reporter.__exit__(*sys.exc_info())
def run(self, kw, context, run=True): assignment = VariableAssignment(kw.assign) result = self._get_result(kw, assignment, context.variables) with StatusReporter(kw, result, context, run): with assignment.assigner(context) as assigner: if run: return_value = self._run(context, kw.args, result) assigner.assign(return_value) return return_value
def run(self, kw, context): # print('LibraryKeywordRunner.run') assignment = VariableAssignment(kw.assign) with open('Excute.txt', 'a') as f: f.write('LK=') f.write(kw.name) f.write('\targs=') string = '[' for arg in kw.args: if type(kw.parent) is robot.running.model.UserKeyword: # and arg in context.variables.as_dict(): temp = arg for var in context.variables.as_dict(): if var in arg: #print 'replace ' + var + ' to ' + str(context.variables[var]).replace('\n', '\\n') """if isinstance(context.variables[var], unicode): string += arg.replace(var, context.variables[var].encode('utf-8').replace('\n', '\\n')) else: string += arg.replace(var, str(context.variables[var]).replace('\n', '\\n'))""" temp = temp.replace(var, str(context.variables[var]).replace('\n', '\\n')) string += temp else: string += str(arg).replace('\n', '\\n') string += ',' if len(string) > 1: string = string[:len(string) - 1] + ']' else: string += ']' f.write(string) f.write('\t') f.write('parent=') if type(kw.parent) is robot.running.model.UserKeyword: f.write(str(kw.parent.name)) else: f.write(str(kw.parent)) for assign in kw.assign: with open('Excute.txt', 'a') as f: f.write('\t') f.write(str(assign)) with StatusReporter(context, self._get_result(kw, assignment)): with assignment.assigner(context) as assigner: return_value = self._run(context, kw.args) assigner.assign(return_value) with open('Excute.txt', 'a') as f: if len(kw.assign) > 0: """if isinstance(return_value, unicode): f.write(return_value.encode('utf-8').replace('\n', '\\n')) else: f.write(str(return_value).replace('\n', '\\n'))""" f.write(str(return_value).replace('\n', '\\n')) f.write('\n') return return_value
def run(self, kw, context, run=True): assignment = VariableAssignment(kw.assign) result = self._get_result(kw, assignment, context.variables) with StatusReporter(kw, result, context, run): if self.private: context.warn_on_invalid_private_call(self._handler) with assignment.assigner(context) as assigner: if run: return_value = self._run(context, kw.args, result) assigner.assign(return_value) return return_value
def run(self, kw, context, run=True): result = KeywordResult(kwname=self.name, libname=self.libname, args=kw.args, assign=tuple(VariableAssignment(kw.assign)), type=kw.type) with StatusReporter(kw, result, context, run): if run: raise self.error
def dry_run(self, kw, context): assignment = VariableAssignment(kw.assign) result = self._get_result(kw, assignment) with StatusReporter(kw, result, context, run=False): assignment.validate_assignment() self._dry_run(context, kw.args)
def dry_run(self, kw, context): assignment = VariableAssignment(kw.assign) result = self._get_result(kw, assignment, context.variables) with StatusReporter(context, result): assignment.validate_assignment() self._dry_run(context, kw.args, result)
def _verify_invalid(self, assign): assert_raises(DataError, VariableAssignment(assign).validate_assignment)
def _verify_valid(self, assign): assignment = VariableAssignment(assign) assignment.validate_assignment() expected = [a.rstrip('= ') for a in assign] assert_equal(assignment.assignment, expected)
def run(self, kw, context): assignment = VariableAssignment(kw.assign) # print 'kw = %s arguments = %s' %(kw.name, self._handler.arguments) with open('Excute.txt', 'a') as f: f.write('UK=') f.write(kw.name) f.write('\targs=') string = '[' for arg in kw.args: # string += '\'' string += str(arg).replace('\n', '\\n') string += ',' if len(string) > 1: string = string[:len(string) - 1] + ']' else: string += ']' f.write(string) f.write('\t') f.write('parent=') if type(kw.parent) is robot.running.model.UserKeyword: f.write(str(kw.parent.name)) else: f.write(str(kw.parent)) for assign in kw.assign: with open('Excute.txt', 'a') as f: f.write('\t') f.write(str(assign)) if len(kw.assign) == 0: with open('Excute.txt', 'a') as f: f.write('\n') result = self._get_result(kw, assignment, context.variables) with StatusReporter(context, result): with assignment.assigner(context) as assigner: return_value = self._run(context, kw.args, result) assigner.assign(return_value) if len(kw.assign) > 0: string1 = '' string2 = '' flag = False with open('Excute.txt', 'r+') as f: for line in f: dataList = line.split('\t') if len(dataList) > 4: tempList = dataList[3].split('=') for index in range(0, len(dataList)): if index < 3: string1 += dataList[index] string1 += '\t' elif index == 3: string1 += tempList[0] string1 += '=' string2 += tempList[1] string2 += '=' string2 += tempList[2] string2 += '\t' else: string2 += dataList[index] string2 += '\t' string2 = string2[:len(string2) - 2] string2 += '\n' flag = True elif flag: string2 += line else: string1 += line with open('Excute.txt', 'w+') as f: f.write(string1) #print 'string1\n' + string1 + '\n' """if isinstance(return_value, unicode): f.write(return_value.encode('utf-8').replace('\n', '\\n')) else: f.write(str(return_value).encode('utf8').replace('\n', '\\n'))""" f.write(str(return_value).encode('utf8').replace('\n', '\\n')) f.write('\n') f.write(string2) print 'string2\n' + string2 + '\n' return return_value