From ad44b14533a27aa3845db71baa21dd00413a2429 Mon Sep 17 00:00:00 2001 From: Will Thompson Date: Wed, 5 Apr 2023 21:07:45 +0100 Subject: [PATCH 1/2] icon grid: Remove per-architecture blacklist The keys in arch-blacklist.json are the autotools $(host_cpu) variable. The only key in that file is "arm". But nowadays we only support 64-bit ARM, for which $(host_cpu) is "aarch64". So this filter now does nothing. It doesn't matter, anyway, because the app grid code in Endless OS 3.9 and later just hides empty folders. Remove the blacklist logic, which also removes some problematic terminology from our distro. --- data/Makefile.am | 5 ++--- data/settings/arch-blacklist.json | 5 ----- data/settings/write-grid-json.py | 15 +-------------- 3 files changed, 3 insertions(+), 22 deletions(-) delete mode 100644 data/settings/arch-blacklist.json diff --git a/data/Makefile.am b/data/Makefile.am index eb377a00..1676131b 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -6,9 +6,9 @@ settings_in_files = $(wildcard settings/icon-grid-*.json.in) settings_DATA = $(settings_in_files:.in=) dist_noinst_SCRIPTS = settings/write-grid-json.py -%.json: %.json.in settings/arch-blacklist.json settings/write-grid-json.py +%.json: %.json.in settings/write-grid-json.py $(AM_V_GEN)$(srcdir)/settings/write-grid-json.py -o $@ \ - $< $(srcdir)/settings/arch-blacklist.json $(host_cpu) + $< do_subst = sed \ -e 's|@PKG_DATA_DIR[@]|$(pkgdatadir)|g' \ @@ -21,7 +21,6 @@ eos-save-icon-grid: eos-save-icon-grid.in Makefile EXTRA_DIST = \ $(folders_DATA) \ $(settings_in_files) \ - settings/arch-blacklist.json \ eos-save-icon-grid.in \ $(NULL) diff --git a/data/settings/arch-blacklist.json b/data/settings/arch-blacklist.json deleted file mode 100644 index bd4310de..00000000 --- a/data/settings/arch-blacklist.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "arm" : [ - "eos-folder-games-to-hack.directory" - ] -} diff --git a/data/settings/write-grid-json.py b/data/settings/write-grid-json.py index 6241b5f8..03c10c19 100755 --- a/data/settings/write-grid-json.py +++ b/data/settings/write-grid-json.py @@ -10,16 +10,12 @@ aparser = ArgumentParser(description='Write icon grid json file') aparser.add_argument('-o', '--output', help='output file') aparser.add_argument('input', help='input template file') -aparser.add_argument('blacklist', help='blacklist file') -aparser.add_argument('cpu', help='CPU for blacklisting') args = aparser.parse_args() -# Load with template and blacklist. Use OrderedDict for the grid to +# Load template. Use OrderedDict for the grid to # maintain sorting of the keys. with open(args.input, 'r') as infile: grid = json.load(infile, object_pairs_hook=OrderedDict) -with open(args.blacklist, 'r') as blfile: - blacklist = json.load(blfile) # Open the a temporary version of the output file if specified, ensuring # that leading directories are created first. @@ -35,15 +31,6 @@ raise outfile = open(args.output + '.tmp', 'w') -# Strip out blacklisted apps -cpu_blacklist = blacklist.get(args.cpu, []) -for app in cpu_blacklist: - if app in grid: - del grid[app] - for sect, apps in grid.items(): - if app in apps: - grid[sect].remove(app) - # Check that all directories are in the top-level "desktop" pseudo-directory desktop = grid["desktop"] for directory in grid: From 92466c88809ee67c14ec2b7b525f7a4312a58250 Mon Sep 17 00:00:00 2001 From: Will Thompson Date: Wed, 5 Apr 2023 21:23:45 +0100 Subject: [PATCH 2/2] icon-grid: Modernize Python usage - All Python dicts are now order-preserving. - makedirs() has an exist_ok argument. - argparse.FileType has actually been around for a long time. --- data/settings/write-grid-json.py | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/data/settings/write-grid-json.py b/data/settings/write-grid-json.py index 03c10c19..22a8a845 100755 --- a/data/settings/write-grid-json.py +++ b/data/settings/write-grid-json.py @@ -1,21 +1,17 @@ #!/usr/bin/env python3 -from argparse import ArgumentParser -from collections import OrderedDict -import errno +from argparse import ArgumentParser, FileType import json import os import sys aparser = ArgumentParser(description='Write icon grid json file') aparser.add_argument('-o', '--output', help='output file') -aparser.add_argument('input', help='input template file') +aparser.add_argument('input', help='input template file', type=FileType("r")) args = aparser.parse_args() -# Load template. Use OrderedDict for the grid to -# maintain sorting of the keys. -with open(args.input, 'r') as infile: - grid = json.load(infile, object_pairs_hook=OrderedDict) +# Load template +grid = json.load(args.input) # Open the a temporary version of the output file if specified, ensuring # that leading directories are created first. @@ -24,11 +20,7 @@ else: outdir = os.path.dirname(args.output) if len(outdir) > 0: - try: - os.makedirs(outdir) - except OSError as err: - if err.errno != errno.EEXIST: - raise + os.makedirs(outdir, exist_ok=True) outfile = open(args.output + '.tmp', 'w') # Check that all directories are in the top-level "desktop" pseudo-directory