File indexing completed on 2024-05-19 04:19:33
0001 #!/usr/bin/env python3 0002 # SPDX-FileCopyrightText: 2019-2023 Mattia Basaglia <dev@dragon.best> 0003 # SPDX-License-Identifier: GPL-3.0-or-later 0004 import os 0005 import sys 0006 import argparse 0007 from pathlib import Path 0008 0009 here = Path(__file__).resolve().parent 0010 icon_src = here.parent / 'data/icons/breeze-icons/icons' 0011 icon_dst = here / "docs/img/ui/icons" 0012 0013 0014 parser = argparse.ArgumentParser() 0015 subparsers = parser.add_subparsers(dest="cmd") 0016 0017 md = subparsers.add_parser("md") 0018 md.add_argument("icon") 0019 md.add_argument("size", type=int, default="32", nargs="?") 0020 0021 add = subparsers.add_parser("add") 0022 add.add_argument("icon") 0023 add.add_argument("size", type=str, default="32", nargs="?") 0024 0025 ns = parser.parse_args() 0026 0027 if ns.cmd == "md": 0028 if not (icon_dst / (ns.icon+".svg")).exists(): 0029 sys.stderr.write("\x1b[31mIcon not imported\x1b[m\n") 0030 print('<img src="/img/ui/icons/%s.svg" width="%s" />' % (ns.icon, ns.size)) 0031 elif ns.cmd == "add": 0032 def key(x): 0033 if "@" in x.name: 0034 return 1000 0035 try: 0036 return -int(x.name) 0037 except: 0038 return 0 0039 0040 def find(): 0041 for subp in icon_src.iterdir(): 0042 if subp.is_dir(): 0043 preferred = subp / ns.size / (ns.icon+".svg") 0044 if preferred.exists(): 0045 return preferred 0046 for subsub in sorted(subp.iterdir(), key=key): 0047 match = subsub / (ns.icon+".svg") 0048 if match.exists(): 0049 return match 0050 0051 found = find() 0052 if not found: 0053 sys.stderr.write("\x1b[31mNot found\x1b[m\n") 0054 sys.exit(0) 0055 os.symlink(os.path.relpath(found, icon_dst), icon_dst / (ns.icon+".svg"))