Пример #1
0
 def test_parse_string_at(self):
     o = {'a': "@b"}
     s = dict_to_perl_string(o)
     self.assertEquals(s, """{"a" => "\\@b"}""")
     o2 = perl_string_to_python(s)
     t = type(o2).__name__
     self.assertEquals(t, "dict")
     self.assertEquals(o2['a'], '@b')
Пример #2
0
 def test_parse_string_quotes(self):
     o = {'a': "\"b\""}
     s = dict_to_perl_string(o)
     self.assertEquals(s, """{"a" => "\\"b\\""}""")
     o2 = perl_string_to_python(s)
     t = type(o2).__name__
     self.assertEquals(t, "dict")
     self.assertEquals(o2['a'], '"b"')
Пример #3
0
 def test_parse_simple_list(self):
     o = {'a': ["a", "b", "c"]}
     s = dict_to_perl_string(o)
     self.assertEquals(s, """{"a" => ["a", "b", "c"]}""")
     o2 = perl_string_to_python(s)
     t = type(o2).__name__
     self.assertEquals(t, "dict")
     self.assertEquals(type(o2['a']).__name__, "list")
Пример #4
0
 def test_parse_simple_int(self):
     o = {'a': 99}
     s = dict_to_perl_string(o)
     self.assertEquals(s, """{"a" => 99}""")
     o2 = perl_string_to_python(s)
     t = type(o2).__name__
     self.assertEquals(t, "dict")
     self.assertEquals(o2['a'], 99)
Пример #5
0
 def test_parse_simple_str_pair(self):
     o = {'a': 'b', 'c': 'd'}
     s = dict_to_perl_string(o)
     self.assertEquals(s, """{"a" => "b", "c" => "d"}""")
     o2 = perl_string_to_python(s)
     t = type(o2).__name__
     self.assertEquals(t, "dict")
     self.assertEquals(o2['a'], 'b')
     self.assertEquals(o2['c'], 'd')
Пример #6
0
 def test_parse_complex(self):
     o = {'a': ["a", "b", "c"], 'b': 'd', 'c': 99}
     s = dict_to_perl_string(o)
     self.assertEquals(
         s, """{"a" => ["a", "b", "c"], "b" => "d", "c" => 99}""")
     o2 = perl_string_to_python(s)
     t = type(o2).__name__
     self.assertEquals(t, "dict")
     self.assertEquals(type(o2['a']).__name__, "list")
     self.assertEquals(o2['b'], 'd')
     self.assertEquals(o2['c'], 99)
Пример #7
0
 def get_result_for_job(self, job, progress=False):
     """ Determine if the job has completed. If the job has semaphored children, they are also checked """
     """ Also return progress of jobs, completed and total if flag is on """
     result = {"id": job.job_id}
     try:
         if re.search(r"^(_extended_data_id){1}(\s){1}(\d+){1}",
                      job.input_id):
             extended_data = job.input_id.split(" ")
             job_input = self.get_analysis_data_input(extended_data[1])
             result['input'] = perl_string_to_python(job_input.data)
         else:
             result['input'] = perl_string_to_python(job.input_id)
         if job.status == 'DONE' and job.result != None:
             result['status'] = 'complete'
             result['when_completed'] = job.when_completed
             result['output'] = job.result.output_dict()
         else:
             result['status'] = self.get_job_tree_status(job)
             if progress:
                 result['progress'] = self.get_jobs_progress(job)
     except ValueError as e:
         raise ValueError('Cannot retrieve results for job: {}'.format(
             job.job_id)) from e
     return result