Esempio n. 1
0
 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())
Esempio n. 2
0
 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())
Esempio n. 3
0
 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))
Esempio n. 4
0
 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))
Esempio n. 5
0
 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)
Esempio n. 6
0
 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())
Esempio n. 7
0
 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())
Esempio n. 8
0
 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.')
Esempio n. 9
0
    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
Esempio n. 10
0
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
Esempio n. 11
0
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()
Esempio n. 12
0
     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"):
Esempio n. 13
0
            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):
Esempio n. 14
0
            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)
Esempio n. 15
0
 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)
Esempio n. 16
0
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()