Exemplo n.º 1
0
        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())
Exemplo n.º 2
0
        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())