|
52 | 52 | PackageName, |
53 | 53 | PackageVersion, |
54 | 54 | ) |
| 55 | +from .telemetry import emit_event |
55 | 56 |
|
56 | 57 | if TYPE_CHECKING: |
57 | 58 | from argparse import Namespace |
@@ -199,7 +200,7 @@ def package_metadata_tree(p: PackageMetadata | Follows, lbl: str | None = None, |
199 | 200 | follows = (' - follows [green]' + '/'.join(p.follows)) if type(p) == Follows else '' |
200 | 201 | status = '' |
201 | 202 | if show_status and type(p) == PackageMetadata: |
202 | | - auth = {'Authorization': f'Bearer {os.getenv("GH_TOKEN")}'} if os.getenv('GH_TOKEN') else {} |
| 203 | + auth = {'Authorization': f"Bearer {os.getenv('GH_TOKEN')}"} if os.getenv('GH_TOKEN') else {} |
203 | 204 | commits = requests.get(f'https://api.github.com/repos/{p.org}/{p.repo}/commits', headers=auth) |
204 | 205 | if commits.ok: |
205 | 206 | commits_list = [c['sha'] for c in commits.json()] |
@@ -261,8 +262,8 @@ def reload_packages(load_versions: bool = True) -> None: |
261 | 262 | if pinned.ok: |
262 | 263 | pinned_package_cache = {r['name']: r['lastRevision']['storePath'] for r in pinned.json()} |
263 | 264 |
|
264 | | - if os.path.exists(f'{os.getenv("HOME")}/.nix-profile/manifest.json'): |
265 | | - manifest_file = open(f'{os.getenv("HOME")}/.nix-profile/manifest.json') |
| 265 | + if os.path.exists(f"{os.getenv('HOME')}/.nix-profile/manifest.json"): |
| 266 | + manifest_file = open(f"{os.getenv('HOME')}/.nix-profile/manifest.json") |
266 | 267 | manifest = json.loads(manifest_file.read())['elements'] |
267 | 268 | if type(manifest) is list: |
268 | 269 | manifest = dict(enumerate(manifest)) |
@@ -360,7 +361,7 @@ def list_package( |
360 | 361 | c['commit']['message'], |
361 | 362 | tagged_releases[c['sha']]['name'] if c['sha'] in tagged_releases else None, |
362 | 363 | c['commit']['committer']['date'], |
363 | | - f'github:{listed_package.org}/{listed_package.repo}/{c["sha"]}#{listed_package.package_name}' |
| 364 | + f"github:{listed_package.org}/{listed_package.repo}/{c['sha']}#{listed_package.package_name}" |
364 | 365 | in pinned_package_cache.keys(), |
365 | 366 | ) |
366 | 367 | for c in commits.json() |
@@ -487,6 +488,15 @@ def install_package( |
487 | 488 | _, git_token_options = package.concrete_repo_path_with_access |
488 | 489 | overrides = mk_override_args(package, package_overrides) |
489 | 490 |
|
| 491 | + emit_event( |
| 492 | + 'kup_install_start', |
| 493 | + { |
| 494 | + 'package': package_name.base, |
| 495 | + 'version': package_version, |
| 496 | + 'has_overrides': len(package_overrides) > 0 if package_overrides else False, |
| 497 | + }, |
| 498 | + ) |
| 499 | + |
490 | 500 | if not overrides and package.uri in pinned_package_cache: |
491 | 501 | rich.print(f" ⌛ Fetching cached version of '[green]{package_name.pretty_name}[/]' ...") |
492 | 502 | nix( |
@@ -531,6 +541,16 @@ def install_package( |
531 | 541 | display_version = None |
532 | 542 | display_version = f' ({display_version})' if display_version is not None else '' |
533 | 543 |
|
| 544 | + emit_event( |
| 545 | + 'kup_install_complete', |
| 546 | + { |
| 547 | + 'package': package_name.base, |
| 548 | + 'version': package_version or 'latest', |
| 549 | + 'was_update': verb == 'updated', |
| 550 | + 'from_cache': package.uri in pinned_package_cache and not overrides, |
| 551 | + }, |
| 552 | + ) |
| 553 | + |
534 | 554 | rich.print( |
535 | 555 | f" ✅ Successfully {verb} '[green]{package_name.base}[/]' version [blue]{package.uri}{display_version}[/]." |
536 | 556 | ) |
|
0 commit comments