summaryrefslogtreecommitdiff
path: root/.local/bin/zypper-wassup
diff options
context:
space:
mode:
authorKévin Le Gouguec <kevin.legouguec@gmail.com>2020-04-14 19:02:07 +0200
committerKévin Le Gouguec <kevin.legouguec@gmail.com>2020-04-14 19:02:44 +0200
commit3e6247093b6c4ae6903645cac47c9981f9d64692 (patch)
tree34422496d2f6e325307f2fa0b9ae858201c24dd3 /.local/bin/zypper-wassup
parent7c1985a077321b8085ad87009674c74c10689912 (diff)
downloaddotfiles-3e6247093b6c4ae6903645cac47c9981f9d64692.tar.xz
Rename (package,old,new) namedtuple
Diffstat (limited to '.local/bin/zypper-wassup')
-rwxr-xr-x.local/bin/zypper-wassup36
1 files changed, 18 insertions, 18 deletions
diff --git a/.local/bin/zypper-wassup b/.local/bin/zypper-wassup
index 749052a..100f0ea 100755
--- a/.local/bin/zypper-wassup
+++ b/.local/bin/zypper-wassup
@@ -6,7 +6,7 @@ import re
from subprocess import run
-Package = namedtuple('Package', ('package', 'old', 'new'))
+Update = namedtuple('Update', ('package', 'old', 'new'))
ZYPPER_PATTERN = re.compile(
r' +\| +'.join((
@@ -38,7 +38,7 @@ def zypper_list_updates():
zypp_output = execute(('zypper', 'list-updates'))
return tuple(
- Package(**match.groupdict())
+ Update(**match.groupdict())
for match in ZYPPER_PATTERN.finditer(zypp_output)
)
@@ -50,12 +50,12 @@ def source_package_name(package):
return match.group('name')
-def sort_by_source_package(packages):
- sorted_packages = defaultdict(list)
+def sort_by_source_package(updates):
+ sorted_updates = defaultdict(list)
- for p in packages:
+ for u in updates:
source_pkgs = execute(
- ('rpm', '--query', '--queryformat', r'%{SOURCERPM}\n', p.package)
+ ('rpm', '--query', '--queryformat', r'%{SOURCERPM}\n', u.package)
)
# Some packages, e.g. kernel-default and kernel-devel, may be
@@ -65,9 +65,9 @@ def sort_by_source_package(packages):
*_, last_source_pkg = source_pkgs.splitlines()
name = source_package_name(last_source_pkg)
- sorted_packages[name].append(p)
+ sorted_updates[name].append(u)
- return sorted_packages
+ return sorted_updates
class Sgr(IntEnum):
@@ -120,30 +120,30 @@ def print_header(widths, name):
def print_footer(i, n, widths):
if i < n:
- print('─┼─'.join('─'*widths[f] for f in Package._fields))
+ print('─┼─'.join('─'*widths[f] for f in Update._fields))
def main():
print('Querying zypper list-updates… ', end='', flush=True)
- packages = zypper_list_updates()
- print(f'{len(packages)} updates.')
+ updates = zypper_list_updates()
+ print(f'{len(updates)} updates.')
- if not packages:
+ if not updates:
return
widths = {
- field: max(len(p._asdict()[field]) for p in packages)
- for field in Package._fields
+ field: max(len(u._asdict()[field]) for u in updates)
+ for field in Update._fields
}
print('Sorting by source package… ', end='', flush=True)
- packages = sort_by_source_package(packages)
+ updates = sort_by_source_package(updates)
print('Done')
- for i, src in enumerate(sorted(packages), 1):
+ for i, src in enumerate(sorted(updates), 1):
print_header(widths, src)
- for pkg, old, new in sorted(packages[src]):
+ for pkg, old, new in sorted(updates[src]):
old_padding = padding(old, widths['old'])
new_padding = padding(new, widths['new'])
@@ -155,7 +155,7 @@ def main():
new+new_padding
)))
- print_footer(i, len(packages), widths)
+ print_footer(i, len(updates), widths)
if __name__ == '__main__':