Example #1
0
    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)
Example #2
0
    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
Example #3
0
    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"))
Example #4
0
    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"))
Example #5
0
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("失敗しました。")
Example #6
0
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("失敗しました。")