Files

55 lines
1.3 KiB
Python

import getopt
import sys
import core.utils
from core.sheerka.Sheerka import Sheerka
from repl.SheerkaPrompt import SheerkaPrompt
def usage():
print("Sheerka v0.1\n")
print("usage:")
print(sys.argv[0] + "[-hdl:] command | [-i]")
def main(argv):
debug = False
interactive = False
loggers = set()
try:
opts, args = getopt.getopt(argv, "hdl:i", ["help", "debug", "logger=", "interactive"])
for o, a in opts:
if o in ('-h', "--help"):
usage()
return True
if o in ('-d', "--debug"):
debug = True
if o in ('-l', '--logger'):
loggers.add(a)
if o in ('-i', '--interactive'):
interactive = True
except getopt.GetoptError:
usage()
sys.exit(2)
sheerka = Sheerka(debug=debug, loggers=loggers)
sheerka.initialize()
if interactive:
result = SheerkaPrompt(sheerka).run()
sys.exit(result)
else:
_in = core.utils.sysarg_to_string(args)
result = sheerka.evaluate_user_input(_in)
if not sheerka.enable_process_return_values:
sheerka.print(result)
return result[-1].status if len(result) > 0 else 1
if __name__ == '__main__':
res = main(sys.argv[1:])
exit(0 if res else 1)