handle koji versions back to 1.18

This commit is contained in:
Mike McLean 2024-04-01 10:56:19 -04:00 committed by Tomas Kopecek
parent a92d6800b2
commit b96ea3934f

View file

@ -2,6 +2,7 @@
import inspect
import json
import os
import subprocess
import sys
import types
@ -11,8 +12,17 @@ from collections import OrderedDict
kojitop = os.path.dirname(os.path.dirname(__file__))
sys.path.insert(0, kojitop)
import koji
from kojihub import auth, kojixmlrpc, kojihub
setup = kojitop + '/setup.py'
try:
proc = subprocess.Popen(['python', setup, '--version'], stdout=subprocess.PIPE)
(out, _) = proc.communicate()
VERSTR = out.decode().strip()
VERSION = tuple([int(x) for x in VERSTR.split('.')])
# we use this version to adapt our api scan a bit, but we record
# the version from koji lib in the api data
except Exception:
VERSTR = '0.0.0'
VERSION = (0,0,0)
import koji
import koji.arch
@ -21,7 +31,11 @@ import koji.xmlrpcplus
import koji.tasks
import koji.plugin
from kojihub import kojixmlrpc
if VERSION >= (1, 32, 0):
from kojihub import kojixmlrpc
else:
from hub import kojixmlrpc
kojixmlrpc.load_scripts({'SCRIPT_FILENAME': kojixmlrpc.__file__})
def main():
@ -63,7 +77,7 @@ def read_api():
data = OrderedDict()
# we use OrderedDicts so that our json output diffs nicely
data['version'] = list(koji.__version_info__)
data['version'] = list(getattr(koji, '__version_info__', (0,0,0)))
lib_modules = (koji, koji.arch, koji.util, koji.tasks, koji.xmlrpcplus, koji.plugin)
data['lib'] = OrderedDict()