aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMagnus Granberg <zorry@gentoo.org>2023-06-04 22:57:28 +0200
committerMagnus Granberg <zorry@gentoo.org>2023-06-04 22:57:28 +0200
commit33a7f172aa06d773f11d2916130a48d16760c7d1 (patch)
tree6c77a230eb714085df2c520ebf19156d67068dfc
parentAdd fetchonly step but not on yet (diff)
downloadtinderbox-cluster-33a7f172aa06d773f11d2916130a48d16760c7d1.tar.gz
tinderbox-cluster-33a7f172aa06d773f11d2916130a48d16760c7d1.tar.bz2
tinderbox-cluster-33a7f172aa06d773f11d2916130a48d16760c7d1.zip
Support splited lines in auxdb output
Signed-off-by: Magnus Granberg <zorry@gentoo.org>
-rw-r--r--buildbot_gentoo_ci/steps/version.py53
1 files changed, 24 insertions, 29 deletions
diff --git a/buildbot_gentoo_ci/steps/version.py b/buildbot_gentoo_ci/steps/version.py
index c6f333e..98e5403 100644
--- a/buildbot_gentoo_ci/steps/version.py
+++ b/buildbot_gentoo_ci/steps/version.py
@@ -26,11 +26,9 @@ def PersOutputOfGetEapi(rc, stdout, stderr):
# split the lines
for line in stdout.split('\n'):
if line.startswith('EAPI'):
- print(line[-1])
m = _pms_eapi_re.match(line)
if m is not None:
eapi = m.group(2)
- print(eapi)
if eapi is None or not eapi_is_supported(eapi):
print('ERROR: invalid eapi or not found')
eapi = False
@@ -41,37 +39,34 @@ def PersOutputOfGetEapi(rc, stdout, stderr):
}
def PersOutputOfGetAuxdb(rc, stdout, stderr):
- metadata = None
NoSplit = ['DESCRIPTION']
ignore_list = ['SRC_URI']
- #make dict of the stout
- index = 1
- metadata_line_dict = {}
- for text_line in stdout.splitlines():
- metadata_line_dict[index] = text_line
- index = index + 1
+ metadata = {}
+ i = 0
if not stderr == '':
print('stderr')
- # should have 22 lines
- if len(auxdbkeys) != index -1:
- # number of lines is incorrect.
- print('ERROR: Number of lines is incorrect')
- print(metadata_line_dict)
- return {
- 'auxdb' : metadata
- }
- # split all keys to list instead of speces
- metadata = {}
- i = 1
- for key in auxdbkeys:
- if metadata_line_dict[i][-1] == '=' or key in ignore_list:
- metadata[key] = False
- else:
- if ' ' in metadata_line_dict[i] and key not in NoSplit:
- metadata[key] = metadata_line_dict[i].replace(key + '=', '').split(' ')
- else:
- metadata[key] = []
- metadata[key].append(metadata_line_dict[i].replace(key + '=', ''))
+ # make a dict of metadata
+ metadata_line_list = stdout.splitlines()
+ index = len(metadata_line_list)
+ for metadata_line in metadata_line_list:
+ print(metadata_line)
+ for key in auxdbkeys:
+ if metadata_line.startswith(key) and key not in ignore_list:
+ print(key)
+ if metadata_line[-1] == '=':
+ metadata[key] = False
+ else:
+ if ' ' in metadata_line and key not in NoSplit:
+ if i+1 == index or metadata_line_list[i+1].startswith(auxdbkeys):
+ metadata[key] = metadata_line.replace(key + '=', '').split(' ')
+ else:
+ # support one splited line
+ print(metadata_line_list[i+1])
+ metadata_line2 = metadata_line + metadata_line_list[i+1]
+ metadata[key] = metadata_line2.replace(key + '=', '').split(' ')
+ else:
+ metadata[key] = []
+ metadata[key].append(metadata_line.replace(key + '=', ''))
i = i + 1
return {
'auxdb' : metadata