class GosaHandler(object): def __init__(self): self.env = Environment.getInstance() self.proxyurl = self.env.config.get('fts.gosa', 'proxy_uri') #self.proxy = AMQPServiceProxy('amqps://*****:*****@amqp.intranet.gonicus.de/org.gosa') self.proxy = AMQPServiceProxy(self.proxyurl) def getBootParams(self, address): return self.proxy.systemGetBootString(None, address)
def join(self, username, password, data=None): # Prepare URL for login url = self.url_builder(username, password) # Try to log in with provided credentials try: proxy = AMQPServiceProxy(url) except ConnectionError as e: self.log.error("connection to AMQP failed: %s" % str(e)) self.show_error(_("Cannot join client: check user name or password!")) return None # Try to join client try: key, uuid = proxy.joinClient(u"" + self.uuid, self.mac, data) except JSONRPCException as e: self.show_error(e.error.capitalize()) self.log.error(e.error) return None # If key is present, write info back to file if key: self.log.debug("client '%s' joined with key '%s'" % (self.uuid, key)) config = self.env.config.get("core.config") parser = ConfigParser.RawConfigParser() parser.read(config) # Section present? try: url = parser.get("amqp", "url") except ConfigParser.NoSectionError: parser.add_section("amqp") # Set url and key parser.set("amqp", "url", self.url) parser.set("core", "id", uuid) parser.set("amqp", "key", key) # Write back to file with open(config, "wb") as f: parser.write(f) return key
#!/usr/bin/env python # -*- coding: utf-8 -*- from gosa.common.components import AMQPServiceProxy # Create connection to service proxy = AMQPServiceProxy('amqps://*****:*****@amqp.intranet.gonicus.de/org.gosa') # List methods print proxy.getMethods() # Create samba password hash print proxy.mksmbhash("secret")
def __init__(self): self.env = Environment.getInstance() self.proxyurl = self.env.config.get('fts.gosa', 'proxy_uri') #self.proxy = AMQPServiceProxy('amqps://*****:*****@amqp.intranet.gonicus.de/org.gosa') self.proxy = AMQPServiceProxy(self.proxyurl)