def handle_request(self, request): update_pdo = False response = Response(request) request_data = request.get_post_data_as_dictionary() request_data.update(request.get_query_string_as_dictionary()) if request_data.has_key('add'): name = self.create_trigger() adapt = self.manager.get_trigger(name) elif request_data.has_key('remove'): name = urllib.unquote_plus(request_data['remove'][0]) self.remove_trigger(name) adapt = self.manager elif request_data.has_key('edit'): name = urllib.unquote_plus(request_data['edit'][0]) adapt = self.manager.get_trigger(name) elif request_data.has_key('configure'): name = urllib.unquote_plus(request_data['configure'][0]) trigger = self.manager.get_trigger(name) config = {} for attrname in request_data.keys(): splitname = attrname.split('.') if len(splitname) == 2 and splitname[0] == 'configure': value = urllib.unquote_plus(request_data[attrname][0]) config[splitname[1]] = value name = self.configure_trigger(config) adapt = self.manager.get_trigger(name) else: adapt = self.manager if request_data.has_key('actionName'): action_target = urllib.unquote_plus(request_data.get('target')[0]) action = urllib.unquote_plus(request_data.get('actionName')[0]) params = map(urllib.unquote_plus, request_data.get('params')) self.invoke(action_target, action, *params) webadapter = IWebContent(adapt) response.send(webadapter.render())
def handle_request(self, request): response = Response(request) request_data = request.get_post_data_as_dictionary() request_data.update(request.get_query_string_as_dictionary()) adapt = self.__handle_by_context( request_data.get('manage', ['/services/Value Drivers'])[0], request, request_data) webadapter = IWebContent(adapt) response.send(webadapter.render(self.path))
def handle_request(self, request): try: response = Response(request) request_data = request.get_post_data_as_dictionary() request_data.update(request.get_query_string_as_dictionary()) context = request_data['manager'][0] adapt = self.__handle_by_context(context, request, request_data) if adapt is not None: # Since password rejection completes request... webadapter = IWebContent(adapt) response['Content-Type'] = "text/html" response.send(webadapter.render(self.path)) return except Unauthorized, e: request.error(403, "Permission Denied: %s"%e)
def handle_request(self, request): update_pdo = False response = Response(request) request_data = request.get_post_data_as_dictionary() request_data.update(request.get_query_string_as_dictionary()) if request_data.has_key('add'): adapt = self.create_exporter("New Exporter") elif request_data.has_key('remove'): name = urllib.unquote_plus(request_data['remove'][0]) self.remove_exporter(name) adapt = self.container elif request_data.has_key('edit'): name = urllib.unquote_plus(request_data['edit'][0]) update_pdo = False adapt = self.container.get_exporter(name) elif request_data.has_key('configure'): name = urllib.unquote_plus(request_data['configure'][0]) exporter = self.container.get_exporter(name) config = {'Exporter': {}, 'Formatter': {}, 'Transporter': {}} for attrname in request_data.keys(): splitname = attrname.split('.') if len(splitname) == 2 and config.has_key(splitname[0]): config[splitname[0]][splitname[1]] = urllib.unquote_plus( request_data[attrname][0]) exportconfig = config['Exporter'] exportconfig['formatter'] = config['Formatter'] exportconfig['transporter'] = config['Transporter'] exporter.configure(exportconfig) update_pdo = True adapt = exporter else: adapt = self.container if request_data.has_key('actionName'): target = urllib.unquote_plus(request_data.get('target')[0]) action = urllib.unquote_plus(request_data.get('actionName')[0]) params = map(urllib.unquote_plus, request_data.get('params')) exporter = self.container.get_exporter(target) method = getattr(exporter, action) result = method(*params) update_pdo = True if update_pdo: self.updatepdo() webadapter = IWebContent(adapt) response.send(webadapter.render())
def handle_request(self, request): update_pdo = False response = Response(request) request_data = request.get_post_data_as_dictionary() request_data.update(request.get_query_string_as_dictionary()) if request_data.has_key('add'): adapt = self.create_exporter("New Exporter") elif request_data.has_key('remove'): name = urllib.unquote_plus(request_data['remove'][0]) self.remove_exporter(name) adapt = self.container elif request_data.has_key('edit'): name = urllib.unquote_plus(request_data['edit'][0]) update_pdo = False adapt = self.container.get_exporter(name) elif request_data.has_key('configure'): name = urllib.unquote_plus(request_data['configure'][0]) exporter = self.container.get_exporter(name) config = {'Exporter': {}, 'Formatter': {}, 'Transporter': {}} for attrname in request_data.keys(): splitname = attrname.split('.') if len(splitname) == 2 and config.has_key(splitname[0]): config[splitname[0]][splitname[1]] = urllib.unquote_plus(request_data[attrname][0]) exportconfig = config['Exporter'] exportconfig['formatter'] = config['Formatter'] exportconfig['transporter'] = config['Transporter'] exporter.configure(exportconfig) update_pdo = True adapt = exporter else: adapt = self.container if request_data.has_key('actionName'): target = urllib.unquote_plus(request_data.get('target')[0]) action = urllib.unquote_plus(request_data.get('actionName')[0]) params = map(urllib.unquote_plus, request_data.get('params')) exporter = self.container.get_exporter(target) method = getattr(exporter, action) result = method(*params) update_pdo = True if update_pdo: self.updatepdo() webadapter = IWebContent(adapt) response.send(webadapter.render())
def handle_request(self, request): user = request.user_object() response = Response(request) node = self.get_node(request.get_path()) try: domnode = IDomNode(node) webnode = IWebContent(domnode) except ComponentLookupError, error: response['Content-Type'] = 'text/plain' response.send_error(404, 'No adapter for requested node.')
def handle_request(self, request): response = Response(request) data = request.get_post_data_as_dictionary() data.update(request.get_query_string_as_dictionary()) if data.has_key("node"): nodeurl = urllib.unquote_plus(data["node"][0]) else: nodeurl = "/services/time/local" try: adapt = self.__handle_by_context(nodeurl, request, data) except TypeError, error: msglog.exception(prefix="handled") response.send_error(500, str(error)) else: webadapter = IWebContent(adapt) content = webadapter.render(self.path) response.send(content) def __as_node(self, url): managernode = self.nodespace.as_node(url) if self.secured: manager = self.security_manager.as_secured_node(url) else: manager = managernode return manager, managernode def __handle_by_context(self, nodeurl, request, data): node, insecurenode = self.__as_node(nodeurl) adapt = node updatepdo = False
from mpx.www.w3c.dom.interfaces import IDomElement from mpx.lib.neode.dom.adapters import DomConfigurableNode from mpx.lib.neode.dom.adapters import DomCompositeNode from mpx.lib.neode.dom.adapters import DomDocument from mpx.lib.neode.dom.adapters import DomSpaceDocument from mpx.lib.neode.dom.adapters import DomElement domroot = IDomDocument(root) am = domroot.firstChild.firstChild domroot.getElementsByTagName('services') from mpx.lib.neode.html import adapters from mpx.www.w3c.xhtml.interfaces import IWebContent domweb = IWebContent(domroot) print domweb.render() domservices = IDomElement(services) sweb = IWebContent(domservices) print sweb.render() domroot.firstChild.removeChild(am) assert am.node.parent is None, 'Did not clear parent!' assert am.parentNode is None, 'Did not clear parent!' class InterfaceA(Interface): pass
assert verify_class(IDomNode, DomCompositeNode), 'fails interface verify' assert verify_class(IDomDocument, DomDocument), 'fails interface verify' assert verify_class(IDomDocument, DomSpaceDocument), 'fails interface verify' assert verify_class(IDomElement, DomElement), 'fails interface verify' domroot = IDomDocument(root) am = domroot.firstChild.firstChild domroot.getElementsByTagName('services') from xml.dom import ext ext.Print(domroot) from mpx.lib.neode.framework.node.html import adapters from mpx.www.w3c.xhtml.interfaces import IWebContent domweb = IWebContent(domroot) file = open('/var/www/sgreen/dev/output/domweb.html', 'w') file.write(domweb.render()) file.close() print domweb.render() domservices = IDomElement(services) sweb = IWebContent(domservices) file = open('/var/www/sgreen/dev/output/sweb.html', 'w') file.write(sweb.render()) file.close() print sweb.render()
return parentnode def handle_request(self, request): response = Response(request) data = request.get_post_data_as_dictionary() data.update(request.get_query_string_as_dictionary()) if data.has_key("node"): nodeurl = urllib.unquote_plus(data["node"][0]) else: nodeurl = "/services/time/local" try: adapt = self.__handle_by_context(nodeurl, request, data) except TypeError, error: msglog.exception(prefix="handled") response.send_error(500, str(error)) else: webadapter = IWebContent(adapt) content = webadapter.render(self.path) response.send(content) def __as_node(self, url): managernode = self.nodespace.as_node(url) if self.secured: manager = self.security_manager.as_secured_node(url) else: manager = managernode return manager, managernode def __handle_by_context(self, nodeurl, request, data): node,insecurenode = self.__as_node(nodeurl) adapt = node updatepdo = False self.debugout("handle_by_context(%r, %r, %r)", nodeurl, request, data) if data.has_key("actionName"):
elif request_data.has_key('cancelupdate'): # Confirm Update: Cancel adapt = manager #self.redirect(request) #return elif request_data.has_key('confirmupdate'): # Confirm Update: Commit try: adapt = self.confirm_update(request_data) except Unauthorized, e: request.error(403, "Permission Denied: %s"%e) return else: adapt = manager webadapter = IWebContent(adapt) response.send(webadapter.render()) return def extract_trend_name(self, request_data): encoded_trend_name = request_data['trend'][0].strip() trend_name = urllib.unquote_plus(encoded_trend_name) return trend_name def extract_point_configuration(self, request_data): configuration = {} points = [] manager = self.manager if self.secured: manager = self.security_manager.as_secured_node(manager) trend_name = self.extract_trend_name(request_data) trend = manager.get_trend(trend_name) for point_position in xrange(1,10):
elif request_data.has_key('cancelupdate'): # Confirm Update: Cancel adapt = manager #self.redirect(request) #return elif request_data.has_key('confirmupdate'): # Confirm Update: Commit try: adapt = self.confirm_update(request_data) except Unauthorized, e: request.error(403, "Permission Denied: %s" % e) return else: adapt = manager webadapter = IWebContent(adapt) response.send(webadapter.render()) return def extract_trend_name(self, request_data): encoded_trend_name = request_data['trend'][0].strip() trend_name = urllib.unquote_plus(encoded_trend_name) return trend_name def extract_point_configuration(self, request_data): configuration = {} points = [] manager = self.manager if self.secured: manager = self.security_manager.as_secured_node(manager) trend_name = self.extract_trend_name(request_data)
def handle_request(self, request): update_pdo = False storage = None response = Response(request) username = request.user_object().name() request_data = request.get_post_data_as_dictionary() request_data.update(request.get_query_string_as_dictionary()) if request_data.has_key('add'): self.synclock.acquire() try: alarm = self.create_alarm() #CSCte94335 - commenting following because it is temporary alarm #self.alarms[alarm.name] = alarm finally: self.synclock.release() adapt = alarm if self.debug: message = "%s.handle_request() handling add request" msglog.log("broadway", msglog.types.DB, message % self.name) elif request_data.has_key('remove'): self.remove_alarm(urllib.unquote_plus(request_data['remove'][0])) adapt = self.managernode if self.debug: message = "%s.handle_request() handling remove request" msglog.log("broadway", msglog.types.DB, message % self.name) elif request_data.has_key('edit'): name = urllib.unquote_plus(request_data['edit'][0]) adapt = self.managernode.get_child(name) if self.debug: message = "%s.handle_request() handling edit request" msglog.log("broadway", msglog.types.DB, message % self.name) elif request_data.has_key('configure'): name = urllib.unquote_plus(request_data['configure'][0]) # CSCte94335 - if old alarm name does not exist then add this alarm condition # else update the existing alarm if self.alarms.get(name) == None: # create a new alarm config = {} # CSCte94370 - strip the name string to ignore spaces. config['name'] = urllib.unquote_plus( request_data.get('name')[0]).strip() config['priority'] = urllib.unquote_plus( request_data.get('priority')[0]) config['description'] = urllib.unquote_plus( request_data.get('description')[0]) config['parent'] = urllib.unquote_plus( request_data.get('parent')[0]) config['max_raised'] = urllib.unquote_plus( request_data.get('max_raised')[0]) config['max_cleared'] = urllib.unquote_plus( request_data.get('max_cleared')[0]) config['max_accepted'] = urllib.unquote_plus( request_data.get('max_accepted')[0]) self.create_alarm(config, persist=True) else: alarmnode = self.alarms[name] if self.secured: alarm = self.as_secured_node(alarmnode) else: alarm = alarmnode config = {} # CSCte94370 - strip the name string to ignore spaces. config['name'] = urllib.unquote_plus( request_data.get('name', [alarm.name])[0]).strip() config['priority'] = urllib.unquote_plus( request_data.get('priority', [alarm.priority])[0]) config['description'] = urllib.unquote_plus( request_data.get('description', [alarm.description])[0]) config['parent'] = urllib.unquote_plus( request_data.get('parent', [alarm.parent])[0]) config['max_raised'] = urllib.unquote_plus( request_data.get('max_raised', [alarm.max_raised])[0]) config['max_cleared'] = urllib.unquote_plus( request_data.get('max_cleared', [alarm.max_cleared])[0]) config['max_accepted'] = urllib.unquote_plus( request_data.get('max_accepted', [alarm.max_accepted])[0]) self.configure_alarm(name, config) adapt = self.managernode if self.debug: message = "%s.handle_request() handling edit request" msglog.log("broadway", msglog.types.DB, message % self.name) else: if request_data.has_key('trigger'): name = urllib.unquote_plus(request_data['trigger'][0]) self.trigger_alarm(name) elif request_data.has_key('clear'): name = urllib.unquote_plus(request_data['clear'][0]) self.clear_alarm(name) adapt = self.managernode if self.secured: adapt = self.securitymanager.as_secured_node(adapt) # Throw authorization error if adaptation will fail. adapt.test_adaptability() webadapter = IWebContent(adapt) request['Content-Type'] = "text/html" html = webadapter.render() #CSCte94335 - deleting the alarm that was created temporarily during 'add' if request_data.has_key('add'): self.synclock.acquire() try: adapt.prune() finally: self.synclock.release() if self.debug: message = ("%s.handle_request() handling " "adapting %s returning: \n\r%s\n\r") msglog.log("broadway", msglog.types.DB, message % (self.name, adapt, html)) response.send(html)
from mpx.www.w3c.dom.interfaces import IDomDocument from mpx.www.w3c.dom.interfaces import IDomElement from mpx.lib.neode.dom.adapters import DomConfigurableNode from mpx.lib.neode.dom.adapters import DomCompositeNode from mpx.lib.neode.dom.adapters import DomDocument from mpx.lib.neode.dom.adapters import DomSpaceDocument from mpx.lib.neode.dom.adapters import DomElement domroot = IDomDocument(root) am = domroot.firstChild.firstChild domroot.getElementsByTagName('services') from mpx.lib.neode.html import adapters from mpx.www.w3c.xhtml.interfaces import IWebContent domweb = IWebContent(domroot) print domweb.render() domservices = IDomElement(services) sweb = IWebContent(domservices) print sweb.render()