if self.task == "version": if self.event_type == 'info': print self.desc return True else: return output.SimpleTaskHandler.object_end(self) class VersionHandler(handler.Handler): def handles(self, task): return task == "version" def handle(self, largs): self.do_request(largs, handle) def handle(task, conn): if conn.status == 200: try: jsax.parse(conn, VersionTaskHandler()) return 0 except ValueError, msg: print "Got an error back from sinan. Check the logs at ~/.sinan/logs/kernel.log" else: print conn.read() return 1 libsinan.add_task_handler(VersionHandler())
if "prefix" in largs["client_opts"]: prefix = largs["client_opts"]["prefix"] if not prefix[-1] == "/": prefix += "/" args.extend(largs["client_opts"].get("erl_args", [])) print "starting shell ..." os.execvp(prefix + "bin/erl", args) def handle(task, conn): """ Handles output from the server. For the most part this just parses the default types of event layout and prints it to standard out in special cases it may do something else """ if conn.status == 200: from libsinan import shell_handler try: jsax.parse(conn, shell_handler.ShellTaskHandler()) return 0 except ValueError, msg: print "Got an error back from sinan. Check the logs at ~/.sinan/logs/kernel.log" else: print conn.read() return 1 libsinan.add_task_handler(ShellHandler())