import sys import click from rich import print from archivebox.config.django import setup_django setup_django() def parse_stdin_to_args(io=sys.stdin): for line in io.read().split('\n'): for url_or_id in line.split(' '): if url_or_id.strip(): yield url_or_id.strip() # Gather data from stdin in case using a pipe if not sys.stdin.isatty(): sys.argv += parse_stdin_to_args(sys.stdin) @click.command() @click.argument("snapshot_ids_or_urls", type=str, nargs=-1) def extract(snapshot_ids_or_urls): for url_or_snapshot_id in snapshot_ids_or_urls: print('- EXTRACTING', url_or_snapshot_id, file=sys.stderr) for result in archivebox.pm.hook.extract(url_or_snapshot_id): print(result) if __name__ == "__main__": extract()