Bugfix: Explicitly cast returned versions as string for comparisons
All checks were successful
/ build (push) Successful in 41s
All checks were successful
/ build (push) Successful in 41s
This commit is contained in:
parent
7d9efdbc28
commit
5c49b6ad83
@ -57,7 +57,7 @@ def find_package_version_with_tag(repo: str, tag: str) -> str:
|
|||||||
tag_id = data.get("id")
|
tag_id = data.get("id")
|
||||||
if tag_id:
|
if tag_id:
|
||||||
logger.info(f"[DockerHub] Found tag '{tag}' for repo '{repo}', ID: {tag_id}")
|
logger.info(f"[DockerHub] Found tag '{tag}' for repo '{repo}', ID: {tag_id}")
|
||||||
return tag_id
|
return str(tag_id)
|
||||||
else:
|
else:
|
||||||
logger.debug(f"[DockerHub] Tag '{tag}' not found for repo '{repo}'")
|
logger.debug(f"[DockerHub] Tag '{tag}' not found for repo '{repo}'")
|
||||||
return None
|
return None
|
||||||
|
|||||||
@ -38,7 +38,7 @@ def find_package_version_with_tag(org: str, package: str, target_tag: str) -> st
|
|||||||
tags = version.get("metadata", {}).get("container", {}).get("tags", [])
|
tags = version.get("metadata", {}).get("container", {}).get("tags", [])
|
||||||
if target_tag in tags:
|
if target_tag in tags:
|
||||||
logger.info(f"[GitHub] Found tag '{target_tag}' for {package} on page {page}, version ID: {version['id']}")
|
logger.info(f"[GitHub] Found tag '{target_tag}' for {package} on page {page}, version ID: {version['id']}")
|
||||||
return version["id"]
|
return str(version["id"])
|
||||||
|
|
||||||
page += 1
|
page += 1
|
||||||
logger.debug(f"[GitHub] Tag '{target_tag}' not found on page {page-1}, moving to page {page}")
|
logger.debug(f"[GitHub] Tag '{target_tag}' not found on page {page-1}, moving to page {page}")
|
||||||
|
|||||||
22
src/main.py
22
src/main.py
@ -67,18 +67,19 @@ def handle_suwayomi(
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
logger.info("[App] Suwayomi handler invoked")
|
logger.info("[App] Suwayomi handler invoked")
|
||||||
latest_online_version = find_package_version_with_tag_github("Suwayomi", "tachidesk", "stable")
|
online_version = find_package_version_with_tag_github("Suwayomi", "tachidesk", "stable")
|
||||||
logger.debug(f"[App] Fetched latest Suwayomi version from GitHub: {latest_online_version}")
|
logger.debug(f"[App] Fetched latest Suwayomi version from GitHub: {online_version}")
|
||||||
|
|
||||||
cursor = db.cursor()
|
cursor = db.cursor()
|
||||||
cursor.execute("SELECT latest_version FROM docker_repositories WHERE app='suwayomi'")
|
cursor.execute("SELECT latest_version FROM docker_repositories WHERE app='suwayomi'")
|
||||||
local_state = cursor.fetchone()
|
local_state = cursor.fetchone()
|
||||||
logger.debug(f"[App] Local Suwayomi version from DB: {local_state}")
|
local_version = str(local_state[0]) if local_state and local_state[0] is not None else None
|
||||||
|
logger.debug(f"[App] Comparing versions: local='{local_version}' vs online='{online_version}'")
|
||||||
|
|
||||||
if local_state and latest_online_version != local_state[0]:
|
if local_version != online_version:
|
||||||
logger.debug("[App] Version mismatch detected. Updating database.")
|
logger.debug("[App] Version mismatch detected. Updating database.")
|
||||||
cursor.execute ("UPDATE docker_repositories SET latest_version=%s WHERE app='suwayomi'",
|
cursor.execute ("UPDATE docker_repositories SET latest_version=%s WHERE app='suwayomi'",
|
||||||
(latest_online_version,))
|
(online_version,))
|
||||||
db.commit()
|
db.commit()
|
||||||
logger.info("[App] New Suwayomi version recorded in database")
|
logger.info("[App] New Suwayomi version recorded in database")
|
||||||
send_notification("New Suwayomi version has been found")
|
send_notification("New Suwayomi version has been found")
|
||||||
@ -101,18 +102,19 @@ def handle_pihole(
|
|||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
logger.info("[App] Pi-hole handler invoked")
|
logger.info("[App] Pi-hole handler invoked")
|
||||||
latest_online_version = find_package_version_with_tag_dockerhub("pihole/pihole", "latest")
|
online_version = find_package_version_with_tag_dockerhub("pihole/pihole", "latest")
|
||||||
logger.debug(f"Fetched latest Pi-hole version from Docker Hub: {latest_online_version}")
|
logger.debug(f"Fetched latest Pi-hole version from Docker Hub: {online_version}")
|
||||||
|
|
||||||
cursor = db.cursor()
|
cursor = db.cursor()
|
||||||
cursor.execute("SELECT latest_version FROM docker_repositories WHERE app='pihole'")
|
cursor.execute("SELECT latest_version FROM docker_repositories WHERE app='pihole'")
|
||||||
local_state = cursor.fetchone()
|
local_state = cursor.fetchone()
|
||||||
logger.debug(f"[App] Local Pi-hole version from DB: {local_state}")
|
local_version = str(local_state[0]) if local_state and local_state[0] is not None else None
|
||||||
|
logger.debug(f"[App] Comparing versions: local='{local_version}' vs online='{online_version}'")
|
||||||
|
|
||||||
if local_state and latest_online_version != local_state[0]:
|
if local_version != online_version:
|
||||||
logger.debug("[App] Version mismatch detected. Updating database.")
|
logger.debug("[App] Version mismatch detected. Updating database.")
|
||||||
cursor.execute ("UPDATE docker_repositories SET latest_version=%s WHERE app='pihole'",
|
cursor.execute ("UPDATE docker_repositories SET latest_version=%s WHERE app='pihole'",
|
||||||
(latest_online_version,))
|
(online_version,))
|
||||||
db.commit()
|
db.commit()
|
||||||
logger.info("[App] New Pi-hole version recorded in database")
|
logger.info("[App] New Pi-hole version recorded in database")
|
||||||
send_notification("New Pi-hole version has been found")
|
send_notification("New Pi-hole version has been found")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user