mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 15:03:28 +00:00
34 lines
926 B
Python
Executable File
34 lines
926 B
Python
Executable File
#! /usr/bin/env nix-shell
|
|
#! nix-shell -i python3 -p "python3.withPackages(ps: with ps; [ pyyaml toml ])"
|
|
|
|
import csv
|
|
from pathlib import Path
|
|
import sys
|
|
import toml
|
|
import yaml
|
|
|
|
requests_csv_path = Path(sys.argv[1])
|
|
registry_path = Path(sys.argv[2])
|
|
|
|
# Generate list of tuples (UUID, count)
|
|
rows = []
|
|
with open(requests_csv_path) as f:
|
|
reader = csv.reader(f)
|
|
for row in reader:
|
|
if row[2] == "user":
|
|
# Get UUID and request_count
|
|
rows.append((row[0], int(row[4])))
|
|
rows.sort(key=(lambda x: x[1]), reverse=True)
|
|
|
|
# Build a map from UUID -> name
|
|
registry = toml.load(registry_path / "Registry.toml")
|
|
uuid_to_name = {k: v["name"] for k, v in registry["packages"].items()}
|
|
|
|
results = []
|
|
for (uuid, count) in rows:
|
|
name = uuid_to_name.get(uuid)
|
|
if not name: continue
|
|
results.append({ "uuid": uuid, "name": uuid_to_name.get(uuid), "count": count })
|
|
|
|
yaml.dump(results, sys.stdout, default_flow_style=False)
|