Exemple #1
0
 def register_one(self, module_path):
     bisque_root = self.root
     module_path = norm(module_path + '/')
     module_register = norm(
         urllib.parse.urljoin(bisque_root, "module_service/register_engine")
         + '/')
     module_xml = self.get_xml(
         url=urllib.parse.urljoin(module_path, 'definition'))
     if module_xml is None:
         error(
             "cannot read definition from %s!  Is engine address correct?")
     name = module_xml.get('name')
     if module_xml is not None:
         log.info("POSTING %s to %s" % (name, module_register))
         #engine = etree.Element ('engine', uri = module_path)
         #engine.append(module_xml)
         #xml =  etree.tostring (engine)
         #print xml
         module_xml.set('ts', datetime.datetime.now().isoformat())
         if self.options.published:
             for el in module_xml.getiterator(tag=etree.Element):
                 el.set('permission', 'published')
         xml = etree.tostring(module_xml)
         params = [('engine_uri', module_path)]
         if self.module_uri:
             params.append(('module_uri', self.module_uri))
         url = "%s?%s" % (module_register, urllib.parse.urlencode(params))
         self.session.postxml(url, xml=xml)
         print "Registered"
Exemple #2
0
    def unregister_one(self, module_path):
        bisque_root = self.root
        module_path = norm(module_path + '/')
        module_unregister = norm(
            urllib.parse.urljoin(bisque_root,
                                 "module_service/unregister_engine") + '/')

        module_name = module_path.split('/')[-2]
        params = [('engine_uri', module_path)]
        if self.module_uri:
            params.append(('module_uri', self.module_uri))

        self.session.fetchxml(module_unregister, **dict(params))

        print "UnRegistered"
 def get_modules(self, engine_path):
     'list module urls  at engine given path path'
     engine_path = norm(engine_path + '/')
     modules = self.get_xml(url=urlparse.urljoin(engine_path, '_services'))
     if modules is None:
         return error('Cannot read modules from engine: %s' % engine_path)
     return [m.get('value') for m in modules]
 def run(self):
     if self.options.root:
         self.root = self.options.root
     else:
         site_cfg = find_site_cfg('site.cfg')
         load_config(site_cfg)
         self.root = norm(config.get('bisque.root') + '/')
     self.command()
    def unregister_one(self, module_path):
        bisque_root = self.root
        module_path = norm(module_path + '/')
        module_unregister = norm(
            urlparse.urljoin(bisque_root, "module_service/unregister_engine") +
            '/')

        module_name = module_path.split('/')[-2]
        params = [('engine_uri', module_path)]
        if self.module_uri:
            params.append(('module_uri', self.module_uri))
        url = "%s?%s" % (module_unregister, urllib.urlencode(params))
        resp, content = http.xmlrequest(url,
                                        method='GET',
                                        userpass=self.credentials)
        if resp.status == '401':
            print "You do not have permission to register (provide credentials)"
        elif resp['status'] != '200':
            print "An error occurred:"
            print content
            return
        print "UnRegistered"
    def register_one(self, module_path):
        bisque_root = self.root
        module_path = norm(module_path + '/')
        module_register = norm(
            urlparse.urljoin(bisque_root, "module_service/register_engine") +
            '/')
        module_xml = self.get_xml(
            url=urlparse.urljoin(module_path, 'definition'))
        if module_xml is None:
            error(
                "cannot read definition from %s!  Is engine address correct?")
        name = module_xml.get('name')
        if module_xml is not None:
            log.info("POSTING %s to %s" % (name, module_register))
            #engine = etree.Element ('engine', uri = module_path)
            #engine.append(module_xml)
            #xml =  etree.tostring (engine)
            #print xml
            module_xml.set('ts', datetime.datetime.now().isoformat())
            if self.options.published:
                for el in module_xml.getiterator(tag=etree.Element):
                    el.set('permission', 'published')
            xml = etree.tostring(module_xml)
            params = [('engine_uri', module_path)]
            if self.module_uri:
                params.append(('module_uri', self.module_uri))
            url = "%s?%s" % (module_register, urllib.urlencode(params))
            resp, content = http.xmlrequest(url,
                                            method='POST',
                                            body=xml,
                                            userpass=self.credentials)

            if resp.status == '401':
                print "You do not have permission to register (provide credentials)"
            elif resp['status'] != '200':
                print "An error occurred:"
                print content
                return
            print "Registered"