def getcreds(datadir): try: mod = _import_byfile("credentials", datadir + os.sep + "config" + os.sep + "credentials.py") except (IOError, ImportError): logging.info("the twitter plugin needs the credentials.py file in the %s/config dir. see %s/examples" % (datadir, datadir)) return (None, None) return mod.CONSUMER_KEY, mod.CONSUMER_SECRET
def getplus(target): credentials = _import_byfile("credentials", getdatadir() + os.sep + "config" + os.sep + "credentials.py") url = "https://www.googleapis.com/plus/v1/people/%s/activities/public?alt=json&pp=1&key=%s" % (target, credentials.googleclient_apikey) result = geturl2(url) data = json.loads(result) res = [] for item in data['items']: i = LazyDict(item) res.append("%s - %s - %s" % (i.actor['displayName'], i['title'], item['url'])) return res
def getcreds(datadir=None): if not datadir: datadir = getdatadir() try: mod = _import_byfile("credentials", datadir + os.sep + "config" + os.sep + "credentials.py") global go go = True except (IOError, ImportError): logging.warn("the twitter plugin needs the credentials.py file in the %s/config dir. see %s/examples" % (datadir, datadir)) return (None, None) logging.warn("found credentials.py") return mod.CONSUMER_KEY, mod.CONSUMER_SECRET
def outnocb(self, waveid, txt, result=[], event=None, origin="", dot=", ", *args, **kwargs): """ output to the root id. """ if not self.domain in self._server_rpc_base: credentials = _import_byfile("credentials", getdatadir() + os.sep + "config" + os.sep + "credentials.py") rpc_base = credentials.RPC_BASE[waveid.split("!")[0]] self._server_rpc_base = rpc_base logging.warn("%s - %s - server_rpc_base is %s" % (self.name, waveid, self._server_rpc_base)) if not event: logging.error("wave - event not set - %s" % calledfrom(sys._getframe(0))) logging.warn("wave - creating new event.") wave = Wave(waveid) wave.say(self, txt)
def getcreds(datadir): try: mod = _import_byfile( "credentials", datadir + os.sep + "config" + os.sep + "credentials.py") except (IOError, ImportError): logging.info( "the twitter plugin needs the credentials.py file in the %s/config dir. see %s/examples" % (datadir, datadir)) return (None, None) return mod.CONSUMER_KEY, mod.CONSUMER_SECRET
def getplus(target): credentials = _import_byfile( "credentials", getdatadir() + os.sep + "config" + os.sep + "credentials.py") url = "https://www.googleapis.com/plus/v1/people/%s/activities/public?alt=json&pp=1&key=%s" % ( target, credentials.googleclient_apikey) result = geturl2(url) data = json.loads(result) res = [] for item in data['items']: i = LazyDict(item) res.append("%s - %s - %s" % (i.actor['displayName'], i['title'], item['url'])) return res
def getcreds(datadir=None): if not datadir: datadir = getdatadir() try: mod = _import_byfile( "credentials", datadir + os.sep + "config" + os.sep + "credentials.py") global go go = True except (IOError, ImportError): logging.warn( "the twitter plugin needs the credentials.py file in the %s/config dir. see %s/examples" % (datadir, datadir)) return (None, None) logging.warn("found credentials.py") return mod.CONSUMER_KEY, mod.CONSUMER_SECRET
def subscribe(url): """ subscribe to an hubbub feed. """ subscribe_args = { 'hub.callback': urlparse.urljoin('https://jsonbot.appspot.com', '/hubbub'), 'hub.mode': 'subscribe', 'hub.topic': url, 'hub.verify': 'async', 'hub.verify_token': str(uuid.uuid4()), } headers = {} credentials = _import_byfile("credentials", getdatadir() + os.sep + "config" + os.sep + "credentials.py") if credentials.HUB_CREDENTIALS: auth_string = "Basic " + base64.b64encode("%s:%s" % tuple(credentials.HUB_CREDENTIALS)) headers['Authorization'] = auth_string logging.warn("hubbub - subscribe - trying %s (%s)" % (credentials.HUB_URL, url)) logging.warn("hubbub - subscribe - %s" % str(headers)) response = posturl(credentials.HUB_URL, headers, subscribe_args) return response
def __init__(self, cfg=None, users=None, plugs=None, name=None, domain=None, image_url='http://jsonbot.appspot.com/assets/favicon.png', profile_url='http://jsonbot.appspot.com/', *args, **kwargs): sname = 'jsb' BotBase.__init__(self, cfg, users, plugs, name, *args, **kwargs) assert self.cfg self.type = 'wave' if domain: self.cfg.domain = domain else: self.cfg.domain = getmainconfig().domain or "wave,google.com" self.cfg.nick = self.cfg.nick or name or "gae-wave" self.overload = True robot.Robot.__init__(self, name=getmainconfig().app_id or self.cfg.nick, image_url=image_url, profile_url=profile_url) credentials = _import_byfile("credentials", getdatadir() + os.sep + "config" + os.sep + "credentials.py") self.set_verification_token_info(credentials.verification_token[self.cfg.domain], credentials.verification_secret[self.cfg.domain]) self.setup_oauth(credentials.Consumer_Key[self.cfg.domain], credentials.Consumer_Secret[self.cfg.domain], server_rpc_base=credentials.RPC_BASE[self.cfg.domain]) self.register_handler(events.BlipSubmitted, self.OnBlipSubmitted) self.register_handler(events.WaveletSelfAdded, self.OnSelfAdded) self.register_handler(events.WaveletParticipantsChanged, self.OnParticipantsChanged) self.iswave = True self.isgae = True
def __init__(self, cfg=None, users=None, plugs=None, name="gae-wave", domain=None, image_url='http://jsonbot.appspot.com/assets/favicon.png', profile_url='http://jsonbot.appspot.com/', *args, **kwargs): sname = 'jsb' BotBase.__init__(self, cfg, users, plugs, name, *args, **kwargs) if cfg: self.domain = cfg['domain'] or 'googlewave.com' else: self.domain = domain or 'googlewave.com' if self.cfg and self.cfg['domain'] != self.domain: self.cfg['domain'] = self.domain self.cfg.save() self.type = 'wave' self.nick = name or sname robot.Robot.__init__(self, name=sname, image_url=image_url, profile_url=profile_url) credentials = _import_byfile("credentials", getdatadir() + os.sep + "config" + os.sep + "credentials.py") self.set_verification_token_info(credentials.verification_token[self.domain], credentials.verification_secret[self.domain]) self.setup_oauth(credentials.Consumer_Key[self.domain], credentials.Consumer_Secret[self.domain], server_rpc_base=credentials.RPC_BASE[self.domain]) self.register_handler(events.BlipSubmitted, self.OnBlipSubmitted) self.register_handler(events.WaveletSelfAdded, self.OnSelfAdded) self.register_handler(events.WaveletParticipantsChanged, self.OnParticipantsChanged) self.iswave = True self.isgae = True
def __init__(self, cfg=None, users=None, plugs=None, name="gae-wave", domain=None, image_url='http://jsonbot.appspot.com/assets/favicon.png', profile_url='http://jsonbot.appspot.com/', *args, **kwargs): sname = 'jsb' BotBase.__init__(self, cfg, users, plugs, name, *args, **kwargs) if cfg: self.domain = cfg['domain'] or 'googlewave.com' else: self.domain = domain or 'googlewave.com' if self.cfg and self.cfg['domain'] != self.domain: self.cfg['domain'] = self.domain self.cfg.save() self.type = 'wave' self.nick = name or sname robot.Robot.__init__(self, name=sname, image_url=image_url, profile_url=profile_url) credentials = _import_byfile( "credentials", getdatadir() + os.sep + "config" + os.sep + "credentials.py") self.set_verification_token_info( credentials.verification_token[self.domain], credentials.verification_secret[self.domain]) self.setup_oauth(credentials.Consumer_Key[self.domain], credentials.Consumer_Secret[self.domain], server_rpc_base=credentials.RPC_BASE[self.domain]) self.register_handler(events.BlipSubmitted, self.OnBlipSubmitted) self.register_handler(events.WaveletSelfAdded, self.OnSelfAdded) self.register_handler(events.WaveletParticipantsChanged, self.OnParticipantsChanged) self.iswave = True self.isgae = True
def outnocb(self, waveid, txt, result=[], event=None, origin="", dot=", ", *args, **kwargs): """ output to the root id. """ if not self.domain in self._server_rpc_base: credentials = _import_byfile( "credentials", getdatadir() + os.sep + "config" + os.sep + "credentials.py") rpc_base = credentials.RPC_BASE[waveid.split("!")[0]] self._server_rpc_base = rpc_base logging.warn("%s - %s - server_rpc_base is %s" % (self.name, waveid, self._server_rpc_base)) if not event: logging.error("wave - event not set - %s" % calledfrom(sys._getframe(0))) logging.warn("wave - creating new event.") wave = Wave(waveid) wave.say(self, txt)