def install(self, ctx): self.twitter_user = self.properties['twitter_user'] self.twitter_pass = self.properties['twitter_password'] self._twitter = self._new_twitter() self.__listener = TwitterService(self._new_twitter(), listener=self.receive_new_dm)
class TwitterPlugin(IPlugin): def __init__(self, parser=None, db=None, properties={}): self.is_preceeded_by = ['database', 'passwords', 'servicecfg_database'] self.is_followed_by = ['twitter_database'] self.parser = parser self.database = db self.properties = properties def install(self, ctx): self.twitter_user = self.properties['twitter_user'] self.twitter_pass = self.properties['twitter_password'] self._twitter = self._new_twitter() self.__listener = TwitterService(self._new_twitter(), listener=self.receive_new_dm) def start_up(self, ctx): ctx.er.account_registrations.add( "(?P<fullname>.*?) \((?P<twitter_name>\w+)\) is now following your updates on Twitter.", self.register_new_user) ctx.er.transport_dao.add('twitter', TwitterDAO(self.database)) ctx.er.parser_actions.add( TwitterSender('twitter', self.__listener.send)) ctx.er.template_files.add(self, 'ui/templates/twitter_templates.txt') def register_new_user(self, message): print "New follower: %s, will try and follow back" % ( message['twitter_name']) self._twitter.friendships.create(screen_name=message['twitter_name']) def receive_new_dm(self, message): message['input_medium'] = 'twitter' self.parser.process_dictionary(message) def _new_twitter(self): return Twitter(self.twitter_user, self.twitter_pass) def run(self): self.__listener.start() def stop(self): self.__listener.close()
class TwitterPlugin(IPlugin): def __init__(self, parser=None, db=None, properties={}): self.is_preceeded_by = ['database', 'passwords', 'servicecfg_database'] self.is_followed_by = ['twitter_database'] self.parser = parser self.database = db self.properties = properties def install(self, ctx): self.twitter_user = self.properties['twitter_user'] self.twitter_pass = self.properties['twitter_password'] self._twitter = self._new_twitter() self.__listener = TwitterService(self._new_twitter(), listener=self.receive_new_dm) def start_up(self, ctx): ctx.er.account_registrations.add("(?P<fullname>.*?) \((?P<twitter_name>\w+)\) is now following your updates on Twitter.", self.register_new_user) ctx.er.transport_dao.add('twitter', TwitterDAO(self.database)) ctx.er.parser_actions.add(TwitterSender('twitter', self.__listener.send)) ctx.er.template_files.add(self, 'ui/templates/twitter_templates.txt') def register_new_user(self, message): print "New follower: %s, will try and follow back" % (message['twitter_name']) self._twitter.friendships.create(screen_name=message['twitter_name']) def receive_new_dm(self, message): message['input_medium'] = 'twitter' self.parser.process_dictionary(message) def _new_twitter(self): return Twitter(self.twitter_user, self.twitter_pass) def run(self): self.__listener.start() def stop(self): self.__listener.close()