Regression fixes for command execution
Change-Id: I8591a206268b7afcb8f561f2eab4fc21b2172fc1
Related-PROD: PROD-28199
diff --git a/cfg_checker/modules/packages/repos.py b/cfg_checker/modules/packages/repos.py
index e7c4c6a..334cbb5 100644
--- a/cfg_checker/modules/packages/repos.py
+++ b/cfg_checker/modules/packages/repos.py
@@ -821,8 +821,6 @@
# <10symbols> \t <md5> \t sorted headers with no tag
# ...
# section
- _o = ""
-
_ss = _p.keys()
_ss.sort()
for _s in _ss:
@@ -830,9 +828,8 @@
_apps.sort()
# app
for _a in _apps:
- logger_cli.info(
- "\n# Package: {}/{}/{}".format(_s, _a, name)
- )
+ _o = ""
+ _mm = []
# get and sort tags
_vs = _p[_s][_a].keys()
_vs.sort()
@@ -847,18 +844,26 @@
_rr = _p[_s][_a][_v][_md5].keys()
_rr.sort()
for _r in _rr:
- _o += " "*24 + _r.replace('_', ' ')
- _o += " ({})\n".format(
- _p[_s][_a][_v][_md5][_r]["maintainer"]
- )
+ _o += " "*24 + _r.replace('_', ' ') + '\n'
+ _m = _p[_s][_a][_v][_md5][_r]["maintainer"]
+ if _m not in _mm:
+ _mm.append(_m)
- logger_cli.info(_o)
+ logger_cli.info(
+ "\n# Package: {}/{}/{}\nMaintainers: {}".format(
+ _s,
+ _a,
+ name,
+ ", ".join(_mm)
+ )
+ )
+
+ logger_cli.info(_o)
@staticmethod
def get_apps(versions, name):
_all = True if name == '*' else False
- _s_max = 0
- _a_max = 0
+ _s_max = _a_max = _p_max = _v_max = 0
_rows = []
for _p in versions.keys():
_vs = versions[_p]
@@ -867,13 +872,30 @@
if _all or name == _info['app']:
_s_max = max(len(_info['section']), _s_max)
_a_max = max(len(_info['app']), _a_max)
+ _p_max = max(len(_p), _p_max)
+ _v_max = max(len(_v), _v_max)
_rows.append([
_info['section'],
_info['app'],
- _p
+ _p,
+ _v,
+ _md5,
+ len(_info['repo'])
])
- _fmt = "{:"+str(_s_max)+"} {:"+str(_a_max)+"} {}"
- _rows = [_fmt.format(s, a, p) for s, a, p in _rows]
+ # format columns
+ # section
+ _fmt = "{:"+str(_s_max)+"} "
+ # app
+ _fmt += "{:"+str(_a_max)+"} "
+ # package name
+ _fmt += "{:"+str(_p_max)+"} "
+ # version
+ _fmt += "{:"+str(_v_max)+"} "
+ # md5 and number of repos is fixed
+ _fmt += "{} in {} repos"
+
+ # fill rows
+ _rows = [_fmt.format(s, a, p, v, m, l) for s, a, p, v, m, l in _rows]
_rows.sort()
return _rows
@@ -881,12 +903,12 @@
c = 0
rows = self.get_apps(self._versions_mirantis, name)
if rows:
- logger_cli.info("# Mirantis packages for '{}'".format(name))
+ logger_cli.info("\n# Mirantis packages for '{}'".format(name))
logger_cli.info("\n".join(rows))
c += 1
rows = self.get_apps(self._versions_other, name)
if rows:
- logger_cli.info("# Other packages for '{}'".format(name))
+ logger_cli.info("\n# Other packages for '{}'".format(name))
logger_cli.info("\n".join(rows))
c += 1
if c == 0: