Skip to content

Commit

Permalink
tag-delta: Allow listing only downgrades or only upgrades
Browse files Browse the repository at this point in the history
  • Loading branch information
compi-migui committed Jun 16, 2023
1 parent 1010690 commit 5360d94
Showing 1 changed file with 45 additions and 27 deletions.
72 changes: 45 additions & 27 deletions tag_utils/cli/tag_delta.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,20 @@ def main():
help='Do not use inherit when checking tags')
parser.add_argument('--skip-same', action='store_true', default=False,
help='skip printing entries if they are the same')
parser.add_argument('--downgrades-only', action='store_true', default=False,
help='only print downgrades (left > right). Implies --skip-same')
parser.add_argument('--upgrades-only', action='store_true', default=False,
help='only print upgrades (right > left). Implies --skip-same')

parser.add_argument('left_tag', help='left brew tag for comparison')
parser.add_argument('right_tag', help='right brew tag for comparison')
args = parser.parse_args()

show_new = False
show_removed = False
show_same = True
show_upgrades = True
show_downgrades = True
do_inherit = True

if args.new:
Expand All @@ -46,6 +53,15 @@ def main():
show_removed = True
if args.no_inherit:
do_inherit = False
if args.skip_same:
show_same = False
if args.downgrades_only:
show_upgrades = False
show_same = False
elif args.upgrades_only:
# Skipped if both downgrades_only and upgrades_only were passed
show_downgrades = False
show_same = False

columns, rows = shutil.get_terminal_size()
fw = str(int((int(columns) - 3) / 3))
Expand All @@ -69,39 +85,41 @@ def main():
print('component,' + lname + ',' + rname + ',status')

# Downgrades (normally bad)
for c in sorted(delta_info['downgrades'].keys()):
lnevr = delta_info['downgrades'][c]['old']
rnevr = delta_info['downgrades'][c]['new']

levr = evr_from_nevr(lnevr)
revr = evr_from_nevr(rnevr)

if sys.stdout.isatty():
f = '%' + fw + 's %s%' + fw + 's %s%' + fw + 's'
print(f % (c, decor.HILIGHT, levr, decor.NORMAL, revr))
else:
if delta_info['downgrades'][c]['rebase']:
print(f'{c},{levr},{revr},rebase')
if show_downgrades:
for c in sorted(delta_info['downgrades'].keys()):
lnevr = delta_info['downgrades'][c]['old']
rnevr = delta_info['downgrades'][c]['new']

levr = evr_from_nevr(lnevr)
revr = evr_from_nevr(rnevr)

if sys.stdout.isatty():
f = '%' + fw + 's %s%' + fw + 's %s%' + fw + 's'
print(f % (c, decor.HILIGHT, levr, decor.NORMAL, revr))
else:
print(f'{c},{levr},{revr},')
if delta_info['downgrades'][c]['rebase']:
print(f'{c},{levr},{revr},rebase')
else:
print(f'{c},{levr},{revr},')

for c in sorted(delta_info['upgrades'].keys()):
lnevr = delta_info['upgrades'][c]['old']
rnevr = delta_info['upgrades'][c]['new']
if show_upgrades:
for c in sorted(delta_info['upgrades'].keys()):
lnevr = delta_info['upgrades'][c]['old']
rnevr = delta_info['upgrades'][c]['new']

levr = evr_from_nevr(lnevr)
revr = evr_from_nevr(rnevr)
levr = evr_from_nevr(lnevr)
revr = evr_from_nevr(rnevr)

if sys.stdout.isatty():
f = '%' + fw + 's %' + fw + 's %s%' + fw + 's%s'
print(f % (c, levr, decor.HILIGHT, revr, decor.NORMAL))
else:
if delta_info['upgrades'][c]['rebase']:
print(f'{c},{levr},{revr},rebase')
if sys.stdout.isatty():
f = '%' + fw + 's %' + fw + 's %s%' + fw + 's%s'
print(f % (c, levr, decor.HILIGHT, revr, decor.NORMAL))
else:
print(f'{c},{levr},{revr},')
if delta_info['upgrades'][c]['rebase']:
print(f'{c},{levr},{revr},rebase')
else:
print(f'{c},{levr},{revr},')

if not args.skip_same:
if show_same:
f = '%' + fw + 's %' + fw + 's %' + fw + 's'
for c in sorted(delta_info['common'].keys()):
nevr = delta_info['common'][c]
Expand Down

0 comments on commit 5360d94

Please sign in to comment.