def project(self): ezo = self.app.ezo # set the Source template directory from config Source.templates_dir = ezo.config["templates-dir"] res, err = EZO.create_project(self.app.pargs.term) if err: print(err) return err print( bright( blue("new ezo project '{}' created".format( self.app.pargs.term)))) print(reset("")) return
def deploys(self): ezo = self.app.ezo log = self.app.log res, err = get_deploys(self.app.pargs.term, ezo) if err: log.error(red("error viewing deployments")) log.error(red(err)) return err v = view_deploys(res) print() print(bright(blue("+-------+"))) for vs in v: print(yellow(vs)) print(blue("+--------------+")) print(yellow("ezo deployments: {}".format(bright(len(res))))) print(reset("")) return len(res)
def main(): with EZOApp() as app: app.ezo = EZO(app.config["ezo"]) app.add_template_dir(app.ezo.config["templates-dir"]) EZO.log = app.log try: app.run() except CaughtSignal as e: # determine what the signal is, and do something with it? from signal import SIGINT, SIGABRT if e.signum == SIGINT: # do something... maybe change the exit code? print("exiting...1") app.exit_code = 110 elif e.signum == SIGABRT: # do something else... print("exiting...") app.exit_code = 111 except FrameworkError as e: # do something when a framework error happens print("FrameworkError => %s" % e) # and maybe set the exit code to something unique as well app.exit_code = 300 finally: # reset terminal print(reset("")) # Maybe we want to see a full-stack trace for the above # exceptions, but only if --debug was passed? if app.debug: import traceback traceback.print_exc()
def tx(self): params = self.app.pargs.c_args ezo = self.app.ezo args = self.app.pargs log = self.app.log # inject password into the environment if args.password: os.environ["EZO_PASSWORD"] = args.password if not args.target: log.error("target must be set with the -t option before deploying") return if len(params) != 3: self.app.log.error( red("missing parameters for send tx - 3 required")) return _, err = ezo.dial(args.target) if err: log.error(red("error with node: {}".format(err))) return err name = params[0] method = params[1] data = params[2] resp, err = Contract.send(ezo, name, method, data, target=args.target) if err: self.app.log.error(red("tx error: {}".format(err))) return err self.app.log.info(bright(blue("=============="))) for k, v in resp.items(): self.app.log.info("{}: {}".format(yellow(k), cyan(v))) self.app.log.info(blue("==============")) self.app.log.info(reset(""))