Exemplo n.º 1
0
    def test_system_tabular(self) -> None:
        # Arrange
        package = "pip"
        mocked_url = "https://pypistats.org/api/packages/pip/system"
        mocked_response = """{
            "data": [
                {"category": "Darwin", "downloads": 10734594},
                {"category": "Linux", "downloads": 236502274},
                {"category": "null", "downloads": 30579325},
                {"category": "other", "downloads": 111243},
                {"category": "Windows", "downloads": 6527978}
            ],
            "package": "pip",
            "type": "system_downloads"
        }"""
        expected_output = """
| category | percent |   downloads |
|:---------|--------:|------------:|
| Linux    |  83.14% | 236,502,274 |
| null     |  10.75% |  30,579,325 |
| Darwin   |   3.77% |  10,734,594 |
| Windows  |   2.29% |   6,527,978 |
| other    |   0.04% |     111,243 |
| Total    |         | 284,455,414 |
"""

        # Act
        respx.get(mocked_url).respond(content=mocked_response)
        output = pypistats.system(package)

        # Assert
        assert output.strip() == expected_output.strip()
Exemplo n.º 2
0
def system(args):  # pragma: no cover
    print(
        pypistats.system(
            args.package,
            os=args.os,
            start_date=args.start_date,
            end_date=args.end_date,
            format=args.format,
            total="daily" if args.daily else
            ("monthly" if args.monthly else "all"),
        ))
Exemplo n.º 3
0
def system(args: argparse.Namespace) -> None:  # pragma: no cover
    print(
        pypistats.system(
            args.package,
            os=args.os,
            start_date=args.start_date,
            end_date=args.end_date,
            format=args.format,
            total="daily" if args.daily else
            ("monthly" if args.monthly else "all"),
            color=args.color,
            verbose=args.verbose,
        ))
Exemplo n.º 4
0
                              format="pandas").drop(columns=['percent'])
downloads = downloads[downloads.category != "Total"]

# try:
exist_downloads = pd.read_csv(trackpath +
                              downloadfn)  # .drop(columns=['percent'])
# exist_downloads = exist_downloads[exist_downloads.category != "Total"]
dl_data = downloads.merge(exist_downloads,
                          how='outer',
                          on=['category', 'date', 'downloads']).reindex()
# except:
#     dl_data = downloads

dl_data.to_csv(trackpath + downloadfn, index=False)

sysdownloads = pypistats.system("icepyx",
                                format="pandas").drop(columns=['percent'])
sysdownloads = sysdownloads[sysdownloads.category != "Total"]
# try:
exist_sysdownloads = pd.read_csv(trackpath +
                                 sysdownloadfn)  # .drop(columns=['percent'])
# exist_sysdownloads = exist_sysdownloads[exist_sysdownloads.category != "Total"]
exist_sysdownloads['category'] = exist_sysdownloads['category'].fillna("null")
sysdl_data = sysdownloads.merge(exist_sysdownloads,
                                how='outer',
                                on=['category', 'date',
                                    'downloads']).reindex()
# except:
#     dl_data = sysdownloads

sysdl_data.to_csv(trackpath + sysdownloadfn, index=False)