#!/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()