File indexing completed on 2024-05-19 15:24:58

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"))