change --cleanup flag for --restore

run file through ruff formatter
This commit is contained in:
Onyx and Iris 2025-02-07 14:52:40 +00:00
parent c437ae5843
commit 5101ff01f2

View File

@ -4,11 +4,11 @@ from pathlib import Path
logging.basicConfig(level=logging.DEBUG) logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger("vm-compact-rewriter") logger = logging.getLogger('vm-compact-rewriter')
PACKAGE_DIR = Path(__file__).parent.parent / "vmcompact" PACKAGE_DIR = Path(__file__).parent.parent / 'vmcompact'
SRC_DIR = Path(__file__).parent / "src" SRC_DIR = Path(__file__).parent / 'src'
def write_outs(output, outs: tuple): def write_outs(output, outs: tuple):
@ -17,183 +17,183 @@ def write_outs(output, outs: tuple):
def rewrite_app(): def rewrite_app():
app_logger = logger.getChild("app") app_logger = logger.getChild('app')
app_logger.info("rewriting app.py") app_logger.info('rewriting app.py')
infile = Path(SRC_DIR) / "app.bk" infile = Path(SRC_DIR) / 'app.bk'
outfile = Path(PACKAGE_DIR) / "app.py" outfile = Path(PACKAGE_DIR) / 'app.py'
with open(infile, "r") as input: with open(infile, 'r') as input:
with open(outfile, "w") as output: with open(outfile, 'w') as output:
for line in input: for line in input:
match line: match line:
# App init() # App init()
case " def __init__(self, vmr):\n": case ' def __init__(self, vmr):\n':
output.write(" def __init__(self, vmr, theme):\n") output.write(' def __init__(self, vmr, theme):\n')
case " self._vmr = vmr\n": case ' self._vmr = vmr\n':
write_outs( write_outs(
output, output,
( (
" self._vmr = vmr\n", ' self._vmr = vmr\n',
" self._theme = theme\n", ' self._theme = theme\n',
' tcldir = Path.cwd() / "theme"\n', ' tcldir = Path.cwd() / "theme"\n',
" if not tcldir.is_dir():\n", ' if not tcldir.is_dir():\n',
' tcldir = Path.cwd() / "_internal" / "theme"\n', ' tcldir = Path.cwd() / "_internal" / "theme"\n',
' self.tk.call("source", tcldir.resolve() / f"forest-{self._theme}.tcl")\n', ' self.tk.call("source", tcldir.resolve() / f"forest-{self._theme}.tcl")\n',
), ),
) )
# def connect() # def connect()
case "def connect(kind_id: str, vmr) -> App:\n": case 'def connect(kind_id: str, vmr) -> App:\n':
output.write( output.write(
'def connect(kind_id: str, vmr, theme="light") -> App:\n' 'def connect(kind_id: str, vmr, theme="light") -> App:\n'
) )
case " return VMMIN_cls(vmr)\n": case ' return VMMIN_cls(vmr)\n':
output.write(" return VMMIN_cls(vmr, theme)\n") output.write(' return VMMIN_cls(vmr, theme)\n')
case _: case _:
output.write(line) output.write(line)
def rewrite_builders(): def rewrite_builders():
builders_logger = logger.getChild("builders") builders_logger = logger.getChild('builders')
builders_logger.info("rewriting builders.py") builders_logger.info('rewriting builders.py')
infile = Path(SRC_DIR) / "builders.bk" infile = Path(SRC_DIR) / 'builders.bk'
outfile = Path(PACKAGE_DIR) / "builders.py" outfile = Path(PACKAGE_DIR) / 'builders.py'
with open(infile, "r") as input: with open(infile, 'r') as input:
with open(outfile, "w") as output: with open(outfile, 'w') as output:
ignore_next_lines = 0 ignore_next_lines = 0
for line in input: for line in input:
if ignore_next_lines > 0: if ignore_next_lines > 0:
builders_logger.info(f"ignoring: {line}") builders_logger.info(f'ignoring: {line}')
ignore_next_lines -= 1 ignore_next_lines -= 1
continue continue
match line: match line:
# loading themes # loading themes
case "import sv_ttk\n": case 'import sv_ttk\n':
output.write("#import sv_ttk\n") output.write('#import sv_ttk\n')
case " self.app.resizable(False, False)\n": case ' self.app.resizable(False, False)\n':
write_outs( write_outs(
output, output,
( (
" self.app.resizable(False, False)\n" ' self.app.resizable(False, False)\n'
" if _configuration.themes_enabled:\n", ' if _configuration.themes_enabled:\n',
' ttk.Style().theme_use(f"forest-{self.app._theme}")\n', ' ttk.Style().theme_use(f"forest-{self.app._theme}")\n',
' self.logger.info(f"Forest Theme applied")\n', ' self.logger.info(f"Forest Theme applied")\n',
), ),
) )
ignore_next_lines = 6 ignore_next_lines = 6
# setting navframe button widths # setting navframe button widths
case " variable=self.navframe.submix,\n": case ' variable=self.navframe.submix,\n':
write_outs( write_outs(
output, output,
( (
" variable=self.navframe.submix,\n" ' variable=self.navframe.submix,\n'
" width=8,\n", ' width=8,\n',
), ),
) )
case " variable=self.navframe.channel,\n": case ' variable=self.navframe.channel,\n':
write_outs( write_outs(
output, output,
( (
" variable=self.navframe.channel,\n" ' variable=self.navframe.channel,\n'
" width=8,\n", ' width=8,\n',
), ),
) )
case " variable=self.navframe.extend,\n": case ' variable=self.navframe.extend,\n':
write_outs( write_outs(
output, output,
( (
" variable=self.navframe.extend,\n" ' variable=self.navframe.extend,\n'
" width=8,\n", ' width=8,\n',
), ),
) )
case " variable=self.navframe.info,\n": case ' variable=self.navframe.info,\n':
write_outs( write_outs(
output, output,
( (
" variable=self.navframe.info,\n" ' variable=self.navframe.info,\n'
" width=8,\n", ' width=8,\n',
), ),
) )
# set channelframe button widths # set channelframe button widths
case " variable=self.labelframe.mute,\n": case ' variable=self.labelframe.mute,\n':
write_outs( write_outs(
output, output,
( (
" variable=self.labelframe.mute,\n" ' variable=self.labelframe.mute,\n'
" width=7,\n", ' width=7,\n',
), ),
) )
case " variable=self.labelframe.conf,\n": case ' variable=self.labelframe.conf,\n':
write_outs( write_outs(
output, output,
( (
" variable=self.labelframe.conf,\n" ' variable=self.labelframe.conf,\n'
" width=7,\n", ' width=7,\n',
), ),
) )
case " variable=self.labelframe.on,\n": case ' variable=self.labelframe.on,\n':
write_outs( write_outs(
output, output,
( (
" variable=self.labelframe.on,\n" ' variable=self.labelframe.on,\n'
" width=7,\n", ' width=7,\n',
), ),
) )
# set stripconfigframe button widths # set stripconfigframe button widths
case " self.configframe.phys_out_params.index(param)\n": case ' self.configframe.phys_out_params.index(param)\n':
write_outs( write_outs(
output, output,
( (
" self.configframe.phys_out_params.index(param)\n", ' self.configframe.phys_out_params.index(param)\n',
" ],\n", ' ],\n',
" width=6,\n", ' width=6,\n',
), ),
) )
ignore_next_lines = 1 ignore_next_lines = 1
case " self.configframe.virt_out_params.index(param)\n": case ' self.configframe.virt_out_params.index(param)\n':
write_outs( write_outs(
output, output,
( (
" self.configframe.virt_out_params.index(param)\n", ' self.configframe.virt_out_params.index(param)\n',
" ],\n", ' ],\n',
" width=6,\n", ' width=6,\n',
), ),
) )
ignore_next_lines = 1 ignore_next_lines = 1
# This does both strip and bus param vars buttons # This does both strip and bus param vars buttons
case " variable=self.configframe.param_vars[i],\n": case ' variable=self.configframe.param_vars[i],\n':
write_outs( write_outs(
output, output,
( (
" variable=self.configframe.param_vars[i],\n", ' variable=self.configframe.param_vars[i],\n',
" width=6,\n", ' width=6,\n',
), ),
) )
case _: case _:
if "Toggle.TButton" in line: if 'Toggle.TButton' in line:
output.write(line.replace("Toggle.TButton", "ToggleButton")) output.write(line.replace('Toggle.TButton', 'ToggleButton'))
else: else:
output.write(line) output.write(line)
def rewrite_menu(): def rewrite_menu():
menu_logger = logger.getChild("menu") menu_logger = logger.getChild('menu')
menu_logger.info("rewriting menu.py") menu_logger.info('rewriting menu.py')
infile = Path(SRC_DIR) / "menu.bk" infile = Path(SRC_DIR) / 'menu.bk'
outfile = Path(PACKAGE_DIR) / "menu.py" outfile = Path(PACKAGE_DIR) / 'menu.py'
with open(infile, "r") as input: with open(infile, 'r') as input:
with open(outfile, "w") as output: with open(outfile, 'w') as output:
ignore_next_lines = 0 ignore_next_lines = 0
for line in input: for line in input:
if ignore_next_lines > 0: if ignore_next_lines > 0:
menu_logger.info(f"ignoring: {line}") menu_logger.info(f'ignoring: {line}')
ignore_next_lines -= 1 ignore_next_lines -= 1
continue continue
match line: match line:
case "import sv_ttk\n": case 'import sv_ttk\n':
output.write("#import sv_ttk\n") output.write('#import sv_ttk\n')
case " # layout/themes\n": case ' # layout/themes\n':
ignore_next_lines = 14 ignore_next_lines = 14
case _: case _:
output.write(line) output.write(line)
@ -202,13 +202,13 @@ def rewrite_menu():
def prepare_for_build(): def prepare_for_build():
################# MOVE FILES FROM PACKAGE DIR INTO SRC DIR ######################### ################# MOVE FILES FROM PACKAGE DIR INTO SRC DIR #########################
for file in ( for file in (
PACKAGE_DIR / "app.py", PACKAGE_DIR / 'app.py',
PACKAGE_DIR / "builders.py", PACKAGE_DIR / 'builders.py',
PACKAGE_DIR / "menu.py", PACKAGE_DIR / 'menu.py',
): ):
if file.exists(): if file.exists():
logger.debug(f"moving {str(file)}") logger.debug(f'moving {str(file)}')
file.rename(SRC_DIR / f"{file.stem}.bk") file.rename(SRC_DIR / f'{file.stem}.bk')
###################### RUN THE FILE REWRITER FOR EACH *.BK ######################### ###################### RUN THE FILE REWRITER FOR EACH *.BK #########################
steps = ( steps = (
@ -222,29 +222,29 @@ def prepare_for_build():
def cleanup(): def cleanup():
########################## RESTORE *.BK FILES ##################################### ########################## RESTORE *.BK FILES #####################################
for file in ( for file in (
PACKAGE_DIR / "app.py", PACKAGE_DIR / 'app.py',
PACKAGE_DIR / "builders.py", PACKAGE_DIR / 'builders.py',
PACKAGE_DIR / "menu.py", PACKAGE_DIR / 'menu.py',
): ):
file.unlink() file.unlink()
for file in ( for file in (
SRC_DIR / "app.bk", SRC_DIR / 'app.bk',
SRC_DIR / "builders.bk", SRC_DIR / 'builders.bk',
SRC_DIR / "menu.bk", SRC_DIR / 'menu.bk',
): ):
file.rename(PACKAGE_DIR / f"{file.stem}.py") file.rename(PACKAGE_DIR / f'{file.stem}.py')
if __name__ == "__main__": if __name__ == '__main__':
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument("-r", "--rewrite", action="store_true") parser.add_argument('--rewrite', action='store_true')
parser.add_argument("-c", "--cleanup", action="store_true") parser.add_argument('--restore', action='store_true')
args = parser.parse_args() args = parser.parse_args()
if args.rewrite: if args.rewrite:
logger.info("preparing files for build") logger.info('preparing files for build')
prepare_for_build() prepare_for_build()
elif args.cleanup: elif args.restore:
logger.info("cleaning up files") logger.info('cleaning up files')
cleanup() cleanup()