public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [flatpaks/flatpak-runtime] f45: generate-app-reports.py: include Fedora Flatpak status
@ 2026-09-11 14:40 Owen W. Taylor
  0 siblings, 0 replies; only message in thread
From: Owen W. Taylor @ 2026-09-11 14:40 UTC (permalink / raw)
  To: git-commits

            A new commit has been pushed.

            Repo   : flatpaks/flatpak-runtime
            Branch : f45
            Commit : c0fee872ff4d23c0dedbae82cf23548894c4edab
            Author : Owen W. Taylor <otaylor@fishsoup.net>
            Date   : 2020-03-20T21:51:58+01:00
            Stats  : +29/-0 in 1 file(s)
            URL    : https://src.fedoraproject.org/flatpaks/flatpak-runtime/c/c0fee872ff4d23c0dedbae82cf23548894c4edab?branch=f45

            Log:
            generate-app-reports.py: include Fedora Flatpak status

Add a fedora_flatpak: [true/false] field for each application based
on whether the src.fedoraproject.org/flatpaks/<package> exists.

---
diff --git a/tools/generate-app-reports.py b/tools/generate-app-reports.py
index b2c5ba8..40441a4 100755
--- a/tools/generate-app-reports.py
+++ b/tools/generate-app-reports.py
@@ -8,6 +8,7 @@ import json
 import locale
 import os
 import re
+import requests
 import subprocess
 import sys
 
@@ -244,6 +245,32 @@ for k, v in ratings.items():
         old = 0
     a.star_total = old + v['total']
 
+def load_fedora_flatpaks():
+    print("Checking for Flatpaks in src.fedoraproject.org ... ", file=sys.stderr, end="")
+    flatpaks = set()
+
+    page = 1
+    retrieved = 0
+    while True:
+        response = requests.get(f'https://src.fedoraproject.org/api/0/projects?namespace=flatpaks&fork=false&page={page}&per_page=100')
+        response.raise_for_status()
+
+        data = response.json()
+        for project in data['projects']:
+            flatpaks.add(project['name'])
+            retrieved += 1
+
+        if retrieved >= data['total_projects']:
+            break
+
+        page += 1
+
+    print("done", file=sys.stderr)
+
+    return flatpaks
+
+fedora_flatpaks = load_fedora_flatpaks()
+
 locale.setlocale(locale.LC_ALL, '')
 
 fedora_appstream = 0
@@ -358,6 +385,8 @@ for a in sorted(apps, key=lambda a: (locale.strxfrm(a.display_name), a.canon_id)
         output_item['star_total'] = a.star_total
         output_item['stars'] = a.stars
 
+    output_item['fedora_flatpak'] = a.package is not None and a.package in fedora_flatpaks
+
     output.append(output_item)
 #    print(a.display_name, a.package, a.flathub_id, a.fedora_id, a.odrs_id, a.homepage, a.star_total)
 

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-11 14:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-11 14:40 [flatpaks/flatpak-runtime] f45: generate-app-reports.py: include Fedora Flatpak status Owen W. Taylor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox