desmos-computer/desmosisa/__init__.py

43 lines
1.2 KiB
Python

from .server import main
import argparse
import pyperclip
import json
def get_overrides(file):
fd = open(file, "r")
data = json.loads(fd.read())
fd.close()
return data
def define_args(parser):
parser.add_argument('--copy', action="store_true", help="copy the client side JS to clipboard")
parser.add_argument('--assemble', nargs=2, help="assemble the file INFILE and write the resultant overrides to OUTFILE")
parser.add_argument('--run', help="specify file to start the desmos server for")
parser.add_argument('--overrides', help="specify file that contains overrides for desmos expressions")
def entry():
parser = argparse.ArgumentParser(
prog="desmosisa",
description="a smörgåsbord of utilities for desmos, including some implementations of an desmos-based isa",
)
define_args(parser)
args = parser.parse_args()
if args.overrides:
args.overrides = get_overrides(args.overrides)
if args.run:
main(args.run, args.overrides if args.overrides else {})
elif args.copy:
fd = open("console.js", "r")
buffer = fd.read()
pyperclip.copy(buffer)
print("copied")
else:
parser.print_help()
if __name__ == "__main__":
entry()