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"
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"