from functools import reduce
from html.parser import HTMLParser
from operator import mul
+from pathlib import Path
from shutil import rmtree
from subprocess import run
from urllib.parse import urljoin
with desktop_file_path.open("wt") as fh:
fh.write(desktop_file)
stack = [(app_dir / "usr" / "share" / "icons").iterdir()]
- svg_icons = []
- raster_icons = []
+ svg_icons: list[Path] = []
+ raster_icons: list[Path] = []
while len(stack):
try:
path = next(stack[-1])
else:
raster_icons.append(path)
for icon in svg_icons:
- if all(x not in path.stem.split("-") for x in ("mute", "attention")):
+ if all(x not in icon.stem.split("-") for x in ("mute", "attention")):
break
else:
icon = max(
raster_icons,
- key=reduce(mul, (int(num) for num in path.parts[-3].split("x"))),
+ key=lambda path: reduce(
+ mul, (int(num) for num in path.parts[-3].split("x"))
+ ),
)
desktop_file = desktop_file.replace(
f"Icon={icon.stem.replace('-symbolic', '')}", f"Icon={icon}"
print("upgrade stub", app.NAME)
def get_pending_apps(self):
- app_names = [app_name.upper() for app_name in self.args.app_names]
+ app_names_upper = [app_name.upper() for app_name in self.args.app_names]
pending_apps = [
- app for app in AppBase.registry if app.NAME.upper() in app_names
+ app for app in AppBase.registry if app.NAME.upper() in app_names_upper
]
- if len(pending_apps) != len(app_names):
+ if len(pending_apps) != len(app_names_upper):
missing_apps = [
app_name
for app_name in self.args.app_names