Esempio n. 1
0
def diff(ctx, files, metrics, all, detail, revision):
    """Show the differences in metrics for each file."""
    config = ctx.obj["CONFIG"]

    if not exists(config):
        handle_no_cache(ctx)

    if not metrics:
        metrics = get_default_metrics(config)
        logger.info(f"Using default metrics {metrics}")
    else:
        metrics = metrics.split(",")
        logger.info(f"Using specified metrics {metrics}")

    from wily.commands.diff import diff

    logger.debug(f"Running diff on {files} for metric {metrics}")
    diff(
        config=config,
        files=files,
        metrics=metrics,
        changes_only=not all,
        detail=detail,
        revision=revision,
    )
Esempio n. 2
0
def report(ctx, file, metrics, number, message, format, console_format,
           output):
    """Show metrics for a given file."""
    config = ctx.obj["CONFIG"]

    if not exists(config):
        handle_no_cache(ctx)

    if not metrics:
        metrics = get_default_metrics(config)
        logger.info(f"Using default metrics {metrics}")

    new_output = Path().cwd()
    if output:
        new_output = new_output / Path(output)
    else:
        new_output = new_output / "wily_report" / "index.html"

    from wily.commands.report import report

    logger.debug(f"Running report on {file} for metric {metrics}")
    logger.debug(f"Output format is {format}")

    report(
        config=config,
        path=file,
        metrics=metrics,
        n=number,
        output=new_output,
        include_message=message,
        format=ReportFormat[format],
        console_format=console_format,
    )
Esempio n. 3
0
def diff(ctx, files, metrics, all, detail, revision, format, output):
    """Show the differences in metrics for each file."""
    config = ctx.obj["CONFIG"]

    if not exists(config):
        handle_no_cache(ctx)

    if not metrics:
        metrics = get_default_metrics(config)
        logger.info(f"Using default metrics {metrics}")
    else:
        metrics = metrics.split(",")
        logger.info(f"Using specified metrics {metrics}")

    new_output = output if output is None else Path().cwd() / Path(output)

    from wily.commands.diff import diff

    logger.debug(f"Running diff on {files} for metric {metrics}")
    logger.debug(f"Output format is {format}")

    diff(
        config=config,
        files=files,
        metrics=metrics,
        changes_only=not all,
        detail=detail,
        output=new_output,
        revision=revision,
        format=ReportFormat[format],
    )
Esempio n. 4
0
def test_get_default_metrics_empty(tmpdir):
    """ 
    Test that get_metrics goes ok with an empty index
    """
    config = DEFAULT_CONFIG
    tmppath = pathlib.Path(tmpdir) / ".wily"
    config.cache_path = str(tmppath)
    tmppath.mkdir()
    (tmppath / "git").mkdir()
    with open(tmppath / "git" / "index.json", "w+") as f:
        f.write("[]")

    metrics = cache.get_default_metrics(config)
    assert metrics == []
Esempio n. 5
0
def report(ctx, file, metrics, number, message):
    """Show metrics for a given file."""
    config = ctx.obj["CONFIG"]

    if not exists(config):
        handle_no_cache(ctx)

    if not metrics:
        metrics = get_default_metrics(config)
        logger.info(f"Using default metrics {metrics}")

    from wily.commands.report import report

    logger.debug(f"Running report on {file} for metric {metrics}")
    report(config=config,
           path=file,
           metrics=metrics,
           n=number,
           include_message=message)