##// END OF EJS Templates
Initial interface for javascript contentmanagers...
Initial interface for javascript contentmanagers contentmanager.js is going to be a js proxy for the current filenbmanager.py. This will allow a contentmanager for Google Drive to be created.

File last commit:

r17021:fb8fa759
r18641:403a5646
Show More
handlers.py
59 lines | 1.7 KiB | text/x-python | PythonLexer
MinRK
only use zmq.jsonapi when talking to zmq sockets...
r17021 """Tornado handlers for cluster web service."""
Brian E. Granger
Adding new files.
r10641
MinRK
only use zmq.jsonapi when talking to zmq sockets...
r17021 # Copyright (c) IPython Development Team.
# Distributed under the terms of the Modified BSD License.
Brian E. Granger
Adding new files.
r10641
MinRK
only use zmq.jsonapi when talking to zmq sockets...
r17021 import json
Brian E. Granger
Adding new files.
r10641
from tornado import web
Brian E. Granger
Moving web services into a subdir.
r10665 from ...base.handlers import IPythonHandler
Brian E. Granger
Adding new files.
r10641
#-----------------------------------------------------------------------------
# Cluster handlers
#-----------------------------------------------------------------------------
class MainClusterHandler(IPythonHandler):
@web.authenticated
def get(self):
MinRK
only use zmq.jsonapi when talking to zmq sockets...
r17021 self.finish(json.dumps(self.cluster_manager.list_profiles()))
Brian E. Granger
Adding new files.
r10641
class ClusterProfileHandler(IPythonHandler):
@web.authenticated
def get(self, profile):
MinRK
only use zmq.jsonapi when talking to zmq sockets...
r17021 self.finish(json.dumps(self.cluster_manager.profile_info(profile)))
Brian E. Granger
Adding new files.
r10641
class ClusterActionHandler(IPythonHandler):
@web.authenticated
def post(self, profile, action):
cm = self.cluster_manager
if action == 'start':
MinRK
fix default cluster count
r10685 n = self.get_argument('n', default=None)
if not n:
Brian E. Granger
Adding new files.
r10641 data = cm.start_cluster(profile)
else:
data = cm.start_cluster(profile, int(n))
if action == 'stop':
data = cm.stop_cluster(profile)
MinRK
only use zmq.jsonapi when talking to zmq sockets...
r17021 self.finish(json.dumps(data))
Brian E. Granger
More work on the handlers
r10647
#-----------------------------------------------------------------------------
# URL to handler mappings
#-----------------------------------------------------------------------------
_cluster_action_regex = r"(?P<action>start|stop)"
_profile_regex = r"(?P<profile>[^\/]+)" # there is almost no text that is invalid
default_handlers = [
(r"/clusters", MainClusterHandler),
(r"/clusters/%s/%s" % (_profile_regex, _cluster_action_regex), ClusterActionHandler),
(r"/clusters/%s" % _profile_regex, ClusterProfileHandler),
]