Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
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()
Exemplo n.º 3
0
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()
Exemplo n.º 4
0
   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)