5 from ..exporters
import exporters
6 from .stripper
import float_strip
10 return inspect.getmodule(inspect.currentframe().f_back.f_back)
13 def _get_parser(caller, basename, path, formats, verbosity):
15 basename = os.path.splitext(os.path.basename(caller.__file__))[0]
17 parser = argparse.ArgumentParser(
18 conflict_handler=
'resolve'
25 help=
"Output basename",
35 choices=list(sum((e.extensions
for e
in exporters), [])),
37 help=
"Formats to render",
43 default=
int(verbosity)
45 from ..
import __version__
49 version=
"%(prog)s - python-lottie script " + __version__
51 exporters.set_options(parser)
56 def get_parser(basename=None, path="/tmp", formats=["html"], verbosity=1):
57 caller = _get_caller()
58 return _get_parser(caller, basename, path, formats, verbosity)
61 def run(animation, ns):
62 for fmt
in ns.formats:
63 if ns.path ==
"" and ns.name ==
"-":
66 absname = os.path.abspath(os.path.join(ns.path, ns.name +
"." + fmt))
68 sys.stderr.write(
"file://%s\n" % absname)
70 exporter = exporters.get_from_extension(fmt)
71 exporter.process(animation, outfile, **exporter.argparse_options(ns))
74 def script_main(animation, basename=None, path="/tmp", formats=["html"], verbosity=1, strip=float_strip):
76 Sets up a script to output an animation into various formats
78 caller = _get_caller()
79 if caller
and caller.__name__ ==
"__main__":
80 parser = _get_parser(caller, basename, path, formats, verbosity)
82 run(animation, parser.parse_args())
def get_parser(basename=None, path="/tmp", formats=["html"], verbosity=1)
def script_main(animation, basename=None, path="/tmp", formats=["html"], verbosity=1, strip=float_strip)