Changeset View
Changeset View
Standalone View
Standalone View
swh/provenance/cli.py
Show First 20 Lines • Show All 121 Lines • ▼ Show 20 Lines | |||||
@click.argument("filename") | @click.argument("filename") | ||||
@click.option("-l", "--limit", type=int) | @click.option("-l", "--limit", type=int) | ||||
@click.pass_context | @click.pass_context | ||||
def iter_revisions(ctx, filename, limit): | def iter_revisions(ctx, filename, limit): | ||||
# TODO: add file size filtering | # TODO: add file size filtering | ||||
"""Process a provided list of revisions.""" | """Process a provided list of revisions.""" | ||||
from . import get_archive, get_provenance | from . import get_archive, get_provenance | ||||
from .provenance import revision_add | from .provenance import revision_add | ||||
from .revision import FileRevisionIterator | from .revision import CSVRevisionIterator | ||||
archive = get_archive(**ctx.obj["config"]["archive"]) | archive = get_archive(**ctx.obj["config"]["archive"]) | ||||
provenance = get_provenance(**ctx.obj["config"]["provenance"]) | provenance = get_provenance(**ctx.obj["config"]["provenance"]) | ||||
revisions = FileRevisionIterator(filename, archive, limit=limit) | revisions_provider = ( | ||||
line.strip().split(",") for line in open(filename, "r") if line.strip() | |||||
) | |||||
revisions = CSVRevisionIterator(revisions_provider, archive, limit=limit) | |||||
while True: | for revision in revisions: | ||||
revision = revisions.next() | |||||
if revision is None: | |||||
break | |||||
revision_add(provenance, archive, revision) | revision_add(provenance, archive, revision) | ||||
@cli.command(name="iter-origins") | @cli.command(name="iter-origins") | ||||
@click.argument("filename") | @click.argument("filename") | ||||
@click.option("-l", "--limit", type=int) | @click.option("-l", "--limit", type=int) | ||||
@click.pass_context | @click.pass_context | ||||
def iter_origins(ctx, filename, limit): | def iter_origins(ctx, filename, limit): | ||||
▲ Show 20 Lines • Show All 53 Lines • Show Last 20 Lines |