def test_exec__file_not_found(self): p = convert.ConvertParams() p.script_path = "./rule.csv" p.log_path = "./tests/test.tar.gz" ret, _ = convert.Converter(p).exec() self.assertFalse(ret)
def start(self): """ Executes all logging process. :return: Result of getting remote log. True: success | False: fail :rtype: bool """ # create log directory self.params.local_dist_dir = self.create_dir() # get console log self.start_script_cmd() # get remote log remote_logger = remote.RemoteLogger(self.params) ls = remote_logger.get_log() if ls is None: return False # convert log p = convert.ConvertParams() p.script_path = self.params.convert_rule p.log_path = os.path.join(self.params.local_dist_dir, remote_logger.filename) ret = convert.Converter(p).exec() return ret
def test_exec__file_regex(self): p = convert.ConvertParams() p.script_path = "./tests/regex.csv" p.file = "./tests/regex.log" ret, _ = convert.Converter(p).exec() self.assertTrue(ret) num_line = sum(1 for line in open(p.file)) num_char = sum(line.count("★") for line in open("./tests/regex.conv.log")) self.assertEqual(num_line, num_char) os.remove(os.path.join(os.getcwd(), "./tests/regex.conv.log"))
def test_exec(self): p = convert.ConvertParams() p.script_path = "./tests/rule.csv" p.log_path = "./tests/test.tar.gz" ret, _ = convert.Converter(p).exec() self.assertTrue(ret, True) num_line = sum(1 for line in open("./tests/test.tar.conv/test.log")) num_char = sum(line.count("★") for line in open("./tests/test.tar.conv/test.log")) self.assertEqual(num_line, num_char) shutil.rmtree(os.path.join(os.getcwd(), "./tests/test.tar")) shutil.rmtree(os.path.join(os.getcwd(), "./tests/test.tar.conv"))
def get(ctx: click.core.Context, filename: str, dir: str, to_usb: bool, convert: bool, merge: bool, debug: bool): """ 引数に指定したファイルを取得します。省略した場合は新たに取得します。 """ # for debug if debug: log.set_level(log.Level.DEBUG) p = __get_params(ctx) if to_usb: if convert or merge: log.w("USB出力時は--convert, --mergeオプションは無視されます.") p.remote_dist_dir = os.path.join(p.usb_dir, dir) else: p.local_dist_dir = os.path.join(os.getcwd(), dir) # execute command files = None ret = True try: if filename is None: files = remote.RemoteLogger(p).get_log(to_usb) else: files = remote.RemoteLogger(p).move_log(filename, to_usb) if convert and not to_usb and files is not None: cp = conv.ConvertParams() cp.script_path = p.convert_rule for f in files: cp.log_path = f ret, out_dir = conv.Converter(cp).exec() ret &= ret if merge and not (out_dir is None): ret &= mrg.Merge().exec(os.path.join(out_dir, p.merge_dir)) except IOError as e: ret = False click.echo(e.args) except Exception as e: ret = False click.echo(e.args) # finished if not files is None and ret: click.echo("正常に終了しました。") else: click.echo("失敗しました。")
def convert(ctx: click.core.Context, tar_file: str, script_path: str, file: str, merge: bool, debug: bool): """ 指定されたtarファイルを展開し、変換ルールに従って変換します。 """ if debug: log.set_level(log.Level.DEBUG) if not script_path is None: s = script_path else: conf = __get_params(ctx) if (conf.convert_rule is not None) and (not os.path.exists(conf.convert_rule)): click.echo("convert_rule \"%s\" が存在しません。" % conf.convert_rule) ctx.exit(2) else: s = conf.convert_rule p = conv.ConvertParams() p.script_path = s p.log_path = tar_file p.file = file ret = None try: ret, out_dir = conv.Converter(p).exec() if merge and not (out_dir is None): ret = mrg.Merge().exec(os.path.join(out_dir, conf.merge_dir)) except IOError as e: click.echo(e.args) except Exception as e: click.echo(e.args) # finished if ret: click.echo("正常に終了しました。") else: click.echo("失敗しました。")