puppygirl-py/puppygirl/__main__.py
2025-10-06 18:03:06 -04:00

38 lines
1 KiB
Python

#!/usr/bin/env python3
from argparse import ArgumentParser
from puppygirl import Puppygirl
from puppygirl.elements.domme import PuppygirlDomme
from puppygirl.renderer import ClientSideRenderer, ServerSideRenderer
parser = ArgumentParser("puppygirl", add_help=True)
subparsers = parser.add_subparsers(dest="command")
build = subparsers.add_parser("build", add_help=True)
build.add_argument("input", metavar="INPUT")
build.add_argument("output", metavar="OUTPUT")
build.add_argument("-p", "--pretty", action="store_true")
build.add_argument("-r", "--renderer", choices=["client", "server"], default="server")
def main():
args = parser.parse_args()
match args.renderer:
case "client":
renderer = ClientSideRenderer()
case _:
renderer = ServerSideRenderer()
pg = Puppygirl(renderer=renderer, elements=[PuppygirlDomme])
html = pg.fetch(args.input)
if args.pretty:
html = html.prettify()
else:
html = str(html)
with open(args.output, "w") as f:
f.write(html)
if __name__ == "__main__":
main()