def test_read_file_bytes(self): handler, path = gf.tmp_file() with io.open(path, "w", encoding="utf-8") as tmp_file: tmp_file.write(u"Foo bar") contents = gf.read_file_bytes(path) self.assertTrue(gf.is_bytes(contents)) self.assertEqual(len(contents), 7) gf.delete_file(handler, path)
def execute(self, config_string, audio_path, text_path): handler, tmp_path = gf.tmp_file() task = Task(config_string) task.audio_file_path_absolute = gf.absolute_path(audio_path, __file__) task.text_file_path_absolute = gf.absolute_path(text_path, __file__) executor = ExecuteTask(task) executor.execute() task.sync_map_file_path_absolute = tmp_path result_path = task.output_sync_map_file() self.assertIsNotNone(result_path) self.assertEqual(result_path, tmp_path) self.assertGreater(len(gf.read_file_bytes(result_path)), 0) gf.delete_file(handler, tmp_path)
def perform_command(self): """ Perform command and return the appropriate exit code. :rtype: int """ if len(self.actual_arguments) < 2: return self.print_help() mode = self.actual_arguments[0] validator = Validator(rconf=self.rconf, logger=self.logger) if mode == u"config": config_file_path = self.actual_arguments[1] config_txt = None if config_file_path.lower().endswith(u".txt"): config_txt = True elif config_file_path.lower().endswith(u".xml"): config_txt = False else: return self.print_help() if not self.check_input_file(config_file_path): return self.ERROR_EXIT_CODE contents = gf.read_file_bytes(config_file_path) if contents is None: return self.ERROR_EXIT_CODE if config_txt: result = validator.check_config_txt(contents) msg = u"TXT configuration" else: result = validator.check_config_xml(contents) msg = "XML configuration" elif mode == u"container": container_path = self.actual_arguments[1] result = validator.check_container(container_path) msg = "container" elif mode == u"job": config_string = self.actual_arguments[1] result = validator.check_configuration_string(config_string, is_job=True) msg = u"job configuration string" elif mode == u"task": config_string = self.actual_arguments[1] result = validator.check_configuration_string(config_string, is_job=False, external_name=True) msg = u"task configuration string" elif mode == u"wizard": if (len(self.actual_arguments) < 3) or (self.actual_arguments[2].startswith(u"-")): return self.print_help() config_string = self.actual_arguments[1] container_path = self.actual_arguments[2] if not self.check_input_file(container_path): return self.ERROR_EXIT_CODE result = validator.check_container(container_path, config_string=config_string) msg = "container with configuration string from wizard" else: return self.print_help() if result.passed: self.print_success(u"Valid %s" % msg) for warning in result.warnings: self.print_warning(u"%s" % warning) return self.NO_ERROR_EXIT_CODE else: self.print_error(u"Invalid %s" % msg) for error in result.errors: self.print_error(u"%s" % error) return self.ERROR_EXIT_CODE