def data_list(dataset): """List available datasets or the files within those datasets.""" # Setup the API connection key = get_api_key() api = shodan.Shodan(key) if dataset: # Show the files within this dataset files = api.data.list_files(dataset) for file in files: click.echo(click.style(u'{:20s}'.format(file['name']), fg='cyan'), nl=False) click.echo(click.style('{:10s}'.format( helpers.humanize_bytes(file['size'])), fg='yellow'), nl=False) # Show the SHA1 checksum if available if file.get('sha1'): click.echo(click.style('{:42s}'.format(file['sha1']), fg='green'), nl=False) click.echo('{}'.format(file['url'])) else: # If no dataset was provided then show a list of all datasets datasets = api.data.list_datasets() for ds in datasets: click.echo(click.style('{:15s}'.format(ds['name']), fg='cyan'), nl=False) click.echo('{}'.format(ds['description']))
def data_list(dataset): """List available datasets or the files within those datasets.""" # Setup the API connection key = get_api_key() api = shodan.Shodan(key) if dataset: # Show the files within this dataset files = api.data.list_files(dataset) for file in files: click.echo(click.style(u'{:20s}'.format(file['name']), fg='cyan'), nl=False) click.echo(click.style('{:10s}'.format(helpers.humanize_bytes(file['size'])), fg='yellow'), nl=False) click.echo('{}'.format(file['url'])) else: # If no dataset was provided then show a list of all datasets datasets = api.data.list_datasets() for ds in datasets: click.echo(click.style('{:15s}'.format(ds['name']), fg='cyan'), nl=False) click.echo('{}'.format(ds['description']))