last_stable_version returns json

This commit is contained in:
Emmanuel 2022-03-19 22:01:58 +01:00
parent 12c875f76a
commit e288b4c80d

View File

@ -1,6 +1,6 @@
import json, datetime, fcntl, glob, os, re, socket, subprocess, time import json, datetime, fcntl, glob, os, re, socket, subprocess, time
from flask import request, abort from flask import jsonify, request, abort
from flask import Blueprint from flask import Blueprint
from app import email from app import email
@ -25,7 +25,7 @@ DEBIAN_PACKAGES_EXP="/srv/packages/pool/main/s/scodoc9/scodoc9_*.deb"
@bp.route("/scodoc-installmgr/last_stable_version") @bp.route("/scodoc-installmgr/last_stable_version")
def last_stable_version(): def last_stable_version():
"""version du dernier paquet ScoDoc 9 publié. """version du dernier paquet ScoDoc 9 publié.
=> chaine, "9.1.82" => json
""" """
# LAST_RELEASE_TAG=$(curl "$GITEA_RELEASE_URL" | jq ".[].tag_name" | tr -d -c "0-9.\n" | sort --version-sort | tail -1) # LAST_RELEASE_TAG=$(curl "$GITEA_RELEASE_URL" | jq ".[].tag_name" | tr -d -c "0-9.\n" | sort --version-sort | tail -1)
debs = glob.glob(DEBIAN_PACKAGES_EXP) debs = glob.glob(DEBIAN_PACKAGES_EXP)
@ -33,13 +33,21 @@ def last_stable_version():
for filename in debs: for filename in debs:
m = re.match(r".*scodoc9_9\.([0-9]{1,2})\.([0-9]{1,3})-1_amd64.deb", filename) m = re.match(r".*scodoc9_9\.([0-9]{1,2})\.([0-9]{1,3})-1_amd64.deb", filename)
if m: if m:
version_tuples.append( (9, int(m.group(1)), int(m.group(2))) ) version_tuples.append( (9, int(m.group(1)), int(m.group(2)), filename) )
if len(version_tuples) == 0: if len(version_tuples) == 0:
return "?.?.?" return "?.?.?"
version_tuples.sort() version_tuples.sort()
last_package_version = version_tuples[-1] last_package_version = version_tuples[-1][:-1]
return ".".join([str(x) for x in last_package_version]) last_package_filename = version_tuples[-1][-1]
package_mtime = os.path.getmtime(last_package_filename)
package_version_string = ".".join([str(x) for x in last_package_version])
return jsonify( {
"publication_time": package_mtime, # float, time
"version" : package_version_string,
}
)
@bp.route("/scodoc-installmgr/upload-dump", methods=["POST"]) @bp.route("/scodoc-installmgr/upload-dump", methods=["POST"])