def __init__(self, cluster_master): """ :type cluster_master: app.master.cluster_master.ClusterMaster """ default_params = { 'cluster_master': cluster_master, } # The routes are described using a tree structure. This is a better representation of a path than a flat list # of strings and allows us to inspect children/parents of a node to generate 'child routes' root_route = \ RouteNode(r'/', _RootHandler).add_children([ RouteNode(r'v1', _APIVersionOneHandler).add_children([ RouteNode(r'version', _VersionHandler), RouteNode(r'build', _BuildsHandler, 'builds').add_children([ RouteNode(r'(\d+)', _BuildHandler, 'build').add_children([ RouteNode(r'result', _BuildResultRedirectHandler), RouteNode(r'artifacts.tar.gz', _BuildResultHandler), RouteNode(r'subjob', _SubjobsHandler, 'subjobs').add_children([ RouteNode(r'(\d+)', _SubjobHandler, 'subjob').add_children([ RouteNode(r'atom', _AtomsHandler, 'atoms').add_children([ RouteNode(r'(\d+)', _AtomHandler, 'atom').add_children([ RouteNode(r'console', _AtomConsoleHandler) ]) ]), RouteNode(r'result', _SubjobResultHandler) ]) ]) ]) ]), RouteNode(r'queue', _QueueHandler), RouteNode(r'slave', _SlavesHandler, 'slaves').add_children([ RouteNode(r'(\d+)', _SlaveHandler, 'slave').add_children([ RouteNode(r'shutdown', _SlaveShutdownHandler, 'shutdown') ]), RouteNode(r'shutdown', _SlavesShutdownHandler, 'shutdown') ]), RouteNode(r'eventlog', _EventlogHandler) ]) ]) handlers = self.get_all_handlers(root_route, default_params) super().__init__(handlers)
def __init__(self, cluster_master): """ :type cluster_master: app.master.cluster_master.ClusterMaster """ default_params = { 'cluster_master': cluster_master, } # The routes are described using a tree structure. This is a better representation of a path than a flat list # of strings and allows us to inspect children/parents of a node to generate 'child routes' api_v1 = [ RouteNode(r'v1', _APIVersionOneHandler).add_children([ RouteNode(r'metrics', _MetricsHandler), RouteNode(r'version', _VersionHandler), RouteNode(r'build', _BuildsHandler, 'builds').add_children([ RouteNode(r'(\d+)', _BuildHandler, 'build').add_children([ RouteNode(r'result', _BuildResultRedirectHandler), RouteNode(r'artifacts.tar.gz', _BuildTarResultHandler), RouteNode(r'artifacts.zip', _BuildZipResultHandler), RouteNode(r'subjob', _SubjobsHandler, 'subjobs').add_children([ RouteNode(r'(\d+)', _SubjobHandler, 'subjob').add_children([ RouteNode(r'atom', _AtomsHandler, 'atoms').add_children([ RouteNode(r'(\d+)', _AtomHandler, 'atom').add_children([ RouteNode(r'console', _AtomConsoleHandler), ]), ]), RouteNode(r'result', _SubjobResultHandler), ]), ]), ]), ]), RouteNode(r'queue', _QueueHandler), RouteNode(r'slave', _SlavesHandler, 'slaves').add_children([ RouteNode(r'(\d+)', _SlaveHandler, 'slave').add_children([ RouteNode(r'shutdown', _SlaveShutdownHandler, 'shutdown'), RouteNode(r'heartbeat', _SlavesHeartbeatHandler), ]), RouteNode(r'shutdown', _SlavesShutdownHandler, 'shutdown'), ]), RouteNode(r'eventlog', _EventlogHandler)])] api_v2 = [ RouteNode(r'metrics', _MetricsHandler), RouteNode(r'version', _VersionHandler), RouteNode(r'builds', _V2BuildsHandler).add_children([ RouteNode(r'(\d+)', _BuildHandler, 'build').add_children([ RouteNode(r'result', _BuildResultRedirectHandler), RouteNode(r'artifacts.tar.gz', _BuildTarResultHandler), RouteNode(r'artifacts.zip', _BuildZipResultHandler), RouteNode(r'subjobs', _V2SubjobsHandler,).add_children([ RouteNode(r'(\d+)', _SubjobHandler, 'subjob').add_children([ RouteNode(r'atoms', _V2AtomsHandler).add_children([ RouteNode(r'(\d+)', _AtomHandler, 'atom').add_children([ RouteNode(r'console', _AtomConsoleHandler), ]), ]), RouteNode(r'result', _SubjobResultHandler), ]), ]), ]), ]), RouteNode(r'queue', _QueueHandler), RouteNode(r'slaves', _SlavesHandler).add_children([ RouteNode(r'(\d+)', _SlaveHandler, 'slave').add_children([ RouteNode(r'shutdown', _SlaveShutdownHandler), RouteNode(r'heartbeat', _SlavesHeartbeatHandler), ]), RouteNode(r'shutdown', _SlavesShutdownHandler), ]), RouteNode(r'eventlog', _EventlogHandler)] root = RouteNode(r'/', _RootHandler) root.add_children(api_v1, version=1) root.add_children(api_v2, version=2) handlers = self.get_all_handlers(root, default_params) super().__init__(handlers)
def __init__(self, cluster_slave): """ :type cluster_slave: ClusterSlave """ default_params = { 'cluster_slave': cluster_slave } # The routes are described using a tree structure. This is a better representation of a path than a flat list # of strings and allows us to inspect children/parents of a node to generate 'child routes' root_route = \ RouteNode(r'/', _RootHandler).add_children([ RouteNode(r'v1', _APIVersionOneHandler).add_children([ RouteNode(r'version', _VersionHandler), RouteNode(r'build', _BuildsHandler, 'builds').add_children([ RouteNode(r'(\d+)', _BuildHandler, 'build').add_children([ RouteNode(r'setup', _BuildSetupHandler), RouteNode(r'teardown', _TeardownHandler), RouteNode(r'subjob', _SubjobsHandler, 'subjobs').add_children([ RouteNode(r'(\d+)', _SubjobHandler, 'subjob') ]) ]) ]), RouteNode(r'executor', _ExecutorsHandler, 'executors').add_children([ RouteNode(r'(\d+)', _ExecutorHandler, 'executor') ]), RouteNode(r'eventlog', _EventlogHandler), RouteNode(r'kill', _KillHandler) ]) ]) handlers = self.get_all_handlers(root_route, default_params) super().__init__(handlers)
def __init__(self, cluster_slave): """ :type cluster_slave: ClusterSlave """ default_params = { 'cluster_slave': cluster_slave } # The routes are described using a tree structure. This is a better representation of a path than a flat list # of strings and allows us to inspect children/parents of a node to generate 'child routes' api_v1 = [ RouteNode(r'v1', _APIVersionOneHandler).add_children([ RouteNode(r'version', _VersionHandler), RouteNode(r'build', _BuildsHandler, 'builds').add_children([ RouteNode(r'(\d+)', _BuildHandler, 'build').add_children([ RouteNode(r'setup', _BuildSetupHandler), RouteNode(r'teardown', _TeardownHandler), RouteNode(r'subjob', _SubjobsHandler, 'subjobs').add_children([ RouteNode(r'(\d+)', _SubjobHandler, 'subjob').add_children([ RouteNode(r'atom', _AtomsHandler, 'atoms').add_children([ RouteNode(r'(\d+)', _AtomHandler).add_children([ RouteNode(r'console', _AtomConsoleHandler) ]) ]) ]) ]) ]) ]), RouteNode(r'executor', _ExecutorsHandler, 'executors').add_children([ RouteNode(r'(\d+)', _ExecutorHandler, 'executor') ]), RouteNode(r'eventlog', _EventlogHandler), RouteNode(r'kill', _KillHandler) ])] api_v2 = [ RouteNode(r'version', _VersionHandler), RouteNode(r'builds', _BuildsHandler, 'builds').add_children([ RouteNode(r'(\d+)', _BuildHandler, 'build').add_children([ RouteNode(r'setup', _BuildSetupHandler), RouteNode(r'teardown', _TeardownHandler), RouteNode(r'subjobs', _SubjobsHandler, 'subjobs').add_children([ RouteNode(r'(\d+)', _SubjobHandler, 'subjob').add_children([ RouteNode(r'atoms', _AtomsHandler, 'atoms').add_children([ RouteNode(r'(\d+)', _AtomHandler).add_children([ RouteNode(r'console', _AtomConsoleHandler) ]) ]) ]) ]) ]) ]), RouteNode(r'executor', _ExecutorsHandler, 'executors').add_children([ RouteNode(r'(\d+)', _ExecutorHandler, 'executor') ]), RouteNode(r'eventlog', _EventlogHandler), RouteNode(r'kill', _KillHandler)] root = RouteNode(r'/', _RootHandler) root.add_children(api_v1, version=1) root.add_children(api_v2, version=2) handlers = self.get_all_handlers(root, default_params) super().__init__(handlers)