From 32314a3d1883a1e6ac4166fcf9ad6f0a505e8688 Mon Sep 17 00:00:00 2001 From: Michael Reid Date: Thu, 23 Jan 2025 19:16:41 -0400 Subject: [PATCH] Fix: Update beta logic and query to handle empty report_url (#141) --- spkrepo/models.py | 6 +++++- spkrepo/views/nas.py | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/spkrepo/models.py b/spkrepo/models.py index 2cc0613..8ca17c4 100644 --- a/spkrepo/models.py +++ b/spkrepo/models.py @@ -462,7 +462,7 @@ def version_string(self): @hybrid_property def beta(self): - return self.report_url != None # noqa: E711 + return bool(self.report_url) # Treats None and "" as False @hybrid_property def all_builds_active(self): @@ -484,6 +484,10 @@ def all_builds_active(cls): .label("total_builds") ) + @beta.expression + def beta(cls): + return db.and_(cls.report_url.isnot(None), cls.report_url != "") + @property def path(self): return os.path.join(self.package.name, str(self.version)) diff --git a/spkrepo/views/nas.py b/spkrepo/views/nas.py index 9cbeeed..1f8b071 100644 --- a/spkrepo/views/nas.py +++ b/spkrepo/views/nas.py @@ -64,7 +64,9 @@ def get_catalog(arch, build, language, beta): ).select_from(Version) if not beta: - latest_version = latest_version.filter(Version.report_url.is_(None)) + latest_version = latest_version.filter( + db.or_(Version.report_url.is_(None), Version.report_url == "") + ) latest_version = ( latest_version.join(Build)