2025-04-29 17:35:21 +02:00
|
|
|
|
#
|
|
|
|
|
|
# Erminig - Rentre la nouvelle version d'un soft dans la base de données
|
|
|
|
|
|
# Copyright (C) 2025 L0m1g
|
|
|
|
|
|
# Sous licence DOUARN - Voir le fichier LICENCE pour les détails
|
|
|
|
|
|
#
|
|
|
|
|
|
# Ce fichier fait partie du projet Erminig.
|
|
|
|
|
|
# Libre comme l’air, stable comme un menhir, et salé comme le beurre.
|
|
|
|
|
|
#
|
|
|
|
|
|
|
2025-04-29 17:15:19 +02:00
|
|
|
|
from erminig.models import versions
|
|
|
|
|
|
from erminig.controllers.govel.pakva import Pakva
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def handle_new_version(db, upstream_id, name, version, url):
|
|
|
|
|
|
"""
|
|
|
|
|
|
Gère l'arrivée d'une nouvelle version :
|
|
|
|
|
|
- Insère en base si absente
|
|
|
|
|
|
- Crée ou met à jour le fichier Pakva correspondant
|
|
|
|
|
|
"""
|
|
|
|
|
|
inserted = versions.insert_version_if_new(db, upstream_id, version, url)
|
|
|
|
|
|
if not inserted:
|
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
|
|
pakva = Pakva(name, version, url)
|
|
|
|
|
|
if pakva.path.exists():
|
|
|
|
|
|
pakva.update_version(version, url, reset_revision=True)
|
|
|
|
|
|
print(f"[PAKVA] Mis à jour pour {name}")
|
|
|
|
|
|
else:
|
|
|
|
|
|
pakva.save()
|
|
|
|
|
|
print(f"[PAKVA] Créé pour {name}")
|
|
|
|
|
|
|
|
|
|
|
|
return True
|