def test_print_by_contributor_package(capsys): """Unit test for print_by_contributor() for networml python package.""" pkg = "networkml" pypi_data = get_pypi_data(pkg) contributors = get_contributors(pypi_data["github_owner_and_repo"]) print_by_contributor(pkg, contributors, pypi_data=pypi_data) captured = capsys.readouterr() # capture output # dedent removes spacing, using the spacing width from the first line output_text = textwrap.dedent(""" CONTRIBUTOR, LOCATION * indicates PyPI maintainer --------------------- cglewis * | USA | United States anarkiwi | Wellington, New Zealand | New Zealand CStephenson970 | None | None renovate-bot | None | None lilchurro | None | None jspeed-meyers * | None | None pyup-bot | None | None rashley-iqt | None | None alshaboti | Wellington, New Zealand | New Zealand jseparovic | Mountain View, CA | United States squeeve | None | None gregs5 | Washington DC | United States krb1997 | None | None toddstavish | None | None sneakyoctopus12 | None | None Hax7 | Palestine | Palestine paulgowdy | Menlo Park CA | United States\n""") assert captured.out == output_text
def scan_single_repo(repo, summary, output_csv, num=100): """Print location results for single GitHub repository. Printing can either be by contributor or by country. Output can optionally be stored as a csv. Args: repo - URL of repo summary - whether to print results by country, i.e. summary. output_csv - whether to store output in csv (default: false) num - max number of contributors to analyze Returns: null """ repo_ending_string = extract_github_owner_and_repo(repo) contributors = get_contributors(repo_ending_string, num) print("-----------------") print("GITHUB REPO: {}".format(repo_ending_string)) print("-----------------") if summary: print_by_country(contributors) else: print_by_contributor(repo_ending_string, contributors, output_csv)
def test_print_by_contributor_repo(capsys): """Unit test for print by contributors for GitHub repo.""" repo = "jspeed-meyers/pcap2map" contributors = get_contributors(repo) print_by_contributor(repo, contributors) captured = capsys.readouterr() # capture output printed # dedent removes spacing, using the spacing width from the first line output_text = textwrap.dedent(""" CONTRIBUTOR, LOCATION --------------------- jspeed-meyers | None | None\n""") assert captured.out == output_text
def scan_single_repo(repo, summary): """Print location results for single GitHub repository Printing can either be by contributor or by country Args: repo - URL of repo on GitHub Returns: null """ repo_ending_string = extract_github_owner_and_repo(repo) contributors = get_contributors(repo_ending_string) print("-----------------") print("GITHUB REPO: {}".format(repo_ending_string)) print("-----------------") if summary: print_by_country(contributors) else: print_by_contributor(contributors)
def scan_single_package(pkg, summary): """Print location results for single package. Printing can either be by contributor or by country Args: pkg - name of python package on PyPI Returns: null """ pypi_data = get_pypi_data(pkg) contributors = get_contributors(pypi_data["github_owner_and_repo"]) print("-----------------") print("PACKAGE: {}".format(pkg)) print("GITHUB REPO: {}".format(pypi_data["github_owner_and_repo"])) print("-----------------") if summary: print_by_country(contributors) else: print_by_contributor(contributors, pypi_data)
def scan_single_package(pkg, summary, num=100): """Print location results for single package. Printing can either be by contributor or by country. Args: pkg - name of python package on PyPI summary - whether to summarize answers by country or not num - max number of contributors to analyze Returns: null """ pypi_data = get_pypi_data(pkg) contributors = get_contributors(pypi_data["github_owner_and_repo"], num) print("-----------------") print("PACKAGE: {}".format(pkg)) print("GITHUB REPO: {}".format(pypi_data["github_owner_and_repo"])) print("-----------------") if summary: print_by_country(contributors) else: print_by_contributor(pkg, contributors, pypi_data=pypi_data)