def get_more_items(self):
  elements = []
  if self.session.settings["general"]["reverse_timelines"] == False:
   last_id = self.session.db[self.name][0]["id"]
  else:
   last_id = self.session.db[self.name][-1]["id"]
  try:
   items = self.session.get_more_items(self.function, count=self.session.settings["general"]["max_tweets_per_call"], max_id=last_id, *self.args, **self.kwargs)
  except TwythonError as e:
   output.speak(e.message, True)
  for i in items:
   if utils.is_allowed(i, self.session.settings["twitter"]["ignored_clients"]) == True:
    elements.append(i)
    if self.session.settings["general"]["reverse_timelines"] == False:
     self.session.db[self.name].insert(0, i)
    else:
     self.session.db[self.name].append(i)
  selection = self.buffer.list.get_selected()
  if self.session.settings["general"]["reverse_timelines"] == False:
   for i in elements:
    tweet = self.compose_function(i, self.session.db, self.session.settings["general"]["relative_times"])
    self.buffer.list.insert_item(True, *tweet)
  else:
   for i in items:
    tweet = self.compose_function(i, self.session.db, self.session.settings["general"]["relative_times"])
    self.buffer.list.insert_item(False, *tweet)
#   self.buffer.list.select_item(selection+elements)
#  else:
   self.buffer.list.select_item(selection)
  output.speak(_(u"%s items retrieved") % (str(len(elements))), True)
Esempio n. 2
0
 def on_success(self, data):
  try:
   if "delete" in data:
    pub.sendMessage("tweet-deleted", data=data)
   if "direct_message" in data:
    self.process_dm(data)
   elif "friends" in data:
    self.friends = data["friends"]
    pub.sendMessage("friends-receibed")
   elif "text" in data and utils.is_allowed(data, self.session.settings["twitter"]["ignored_clients"]) == True:
    if data["user"]["id"] in self.muted_users: return
    self.check_mentions(data)
    self.check_send(data)
    if data["user"]["id"] in self.friends or data["user"]["screen_name"] == self.session.db["user_name"]:
     d = self.put_data("home_timeline", data)
     if d != False:
      pub.sendMessage("item-in-home", data=data, user=self.get_user())
   elif data.has_key("event"):
    if "favorite" == data["event"] and "favorites" in self.session.settings["general"]["buffer_order"]:
     self.check_favs(data)
    elif "unfavorite" == data["event"] and "favorites" in self.session.settings["general"]["buffer_order"]:
     self.remove_fav(data)
    elif "follow" == data["event"] and "followers" in self.session.settings["general"]["buffer_order"]:
     self.check_follower(data)
    elif "unfollow" == data["event"] and "friends" in self.session.settings["general"]["buffer_order"]:
     self.remove_friend(data)
    elif "block" == data["event"]:
     self.block_user(data)
    elif "unblock" == data["event"]:
     self.unblock(data)
    elif "list_created" == data["event"]:
     item = utils.find_item(data["target_object"]["id"], self.session.db["lists"])
     if item != None: self.session.db["lists"].append(data["target_object"])
    elif "list_destroyed" == data["event"]:
     item = utils.find_item(data["target_object"]["id"], self.session.db["lists"])
     if item != None: self.session.db["lists"].pop(item)
     self.parent.remove_list(data["target_object"]["id"])
    elif "list_member_added" == data["event"] and data["source"]["screen_name"] == self.get_user():
     pub.sendMessage("new-list-member-added", **{"id":str(data["target"]["id"]), "list":data["target_object"], "user":self.get_user()})
    elif "list_member_added" == data["event"] and data["target"]["screen_name"] == self.get_user():
     self.session.db["lists"].append(data["target_object"])
    elif "list_member_removed" == data["event"] and data["source"]["screen_name"] == self.get_user():
     pub.sendMessage("list-member-deleted", **{"id":str(data["target"]["id"]), "list":data["target_object"], "user":self.get_user()})
    elif "list_member_removed" == data["event"] and data["target"] == self.get_user():
     id = data["target_object"]["id"]
     list = utils.find_item(id, self.session.db["lists"])
     if list != None: self.session.db["lists"].pop(list)
     pub.sendMessage("list-deleted", **{"item":list, "user":self.get_user()})
    elif "quoted_tweet" == data["event"]:
     self.set_quoted_tweet(data["target_object"])

    if "events" in self.session.settings["general"]["buffer_order"]:
     pub.sendMessage("event", data= data, user= self.get_user())
#     self.sound.play("new_event.ogg")
  except KeyboardInterrupt:
   pass
Esempio n. 3
0
 def on_success(self, data):
  try:
   if "direct_message" in data:
    self.process_dm(data)
   elif "friends" in data:
    self.friends = data["friends"]
    pub.sendMessage("friends-receibed")
   elif "text" in data and utils.is_allowed(data, self.session.settings["twitter"]["ignored_clients"]) == True:
    if data["user"]["id"] in self.muted_users: return
    self.check_mentions(data)
    self.check_send(data)
    if data["user"]["id"] in self.friends or data["user"]["screen_name"] == self.session.db["user_name"]:
     self.put_data("home_timeline", data)
     pub.sendMessage("item-in-home", data=data, user=self.get_user())
   elif data.has_key("event"):
    if "favorite" == data["event"] and "favorites" in self.session.settings["general"]["buffer_order"]:
     self.check_favs(data)
    elif "unfavorite" == data["event"] and "favorites" in self.session.settings["general"]["buffer_order"]:
     self.remove_fav(data)
    elif "follow" == data["event"] and "followers" in self.session.settings["general"]["buffer_order"]:
     self.check_follower(data)
    elif "unfollow" == data["event"] and "friends" in self.session.settings["general"]["buffer_order"]:
     self.remove_friend(data)
    elif "block" == data["event"]:
     self.block_user(data)
    elif "unblock" == data["event"]:
     self.unblock(data)
    elif "list_created" == data["event"]:
     item = utils.find_item(data["target_object"]["id"], self.session.db["lists"])
     if item != None: self.session.db["lists"].append(data["target_object"])
    elif "list_destroyed" == data["event"]:
     item = utils.find_item(data["target_object"]["id"], self.session.db["lists"])
     if item != None: self.session.db["lists"].pop(item)
     self.parent.remove_list(data["target_object"]["id"])
    elif "list_member_added" == data["event"] and data["source"]["screen_name"] == self.get_user():
     pub.sendMessage("new-list-member-added", **{"id":str(data["target"]["id"]), "list":data["target_object"], "user":self.get_user()})
    elif "list_member_added" == data["event"] and data["target"]["screen_name"] == self.get_user():
     self.session.db["lists"].append(data["target_object"])
    elif "list_member_removed" == data["event"] and data["source"]["screen_name"] == self.get_user():
     pub.sendMessage("list-member-deleted", **{"id":str(data["target"]["id"]), "list":data["target_object"], "user":self.get_user()})
    elif "list_member_removed" == data["event"] and data["target"] == self.get_user():
     id = data["target_object"]["id"]
     list = utils.find_item(id, self.session.db["lists"])
     if list != None: self.session.db["lists"].pop(list)
     pub.sendMessage("list-deleted", **{"item":list, "user":self.get_user()})
    elif "quoted_tweet" == data["event"]:
     self.set_quoted_tweet(data["target_object"])

    if "events" in self.session.settings["general"]["buffer_order"]:
     pub.sendMessage("event", data= data, user= self.get_user())
#     self.sound.play("new_event.ogg")
  except KeyboardInterrupt:
   pass
Esempio n. 4
0
 def order_buffer(self, name, data):

  """ Put the new items in the local database.
  name str: The name for the buffer stored in the dictionary.
  data list: A list with tweets.
  returns the number of items that have been added in this execution"""

  num = 0
  if self.db.has_key(name) == False:
   self.db[name] = []
  for i in data:
   if utils.find_item(i["id"], self.db[name]) == None and     utils.is_allowed(i, self.settings["twitter"]["ignored_clients"]) == True:
    if self.settings["general"]["reverse_timelines"] == False: self.db[name].append(i)
    else: self.db[name].insert(0, i)
    num = num+1
  return num
Esempio n. 5
0
 def order_buffer(self, name, data):

  """ Put the new items in the local database.
  name str: The name for the buffer stored in the dictionary.
  data list: A list with tweets.
  returns the number of items that have been added in this execution"""

  num = 0
  if self.db.has_key(name) == False:
   self.db[name] = []
  for i in data:
   if utils.find_item(i["id"], self.db[name]) == None and     utils.is_allowed(i, self.settings["twitter"]["ignored_clients"]) == True:
    try: i = self.check_quoted_status(i)
    except: pass
    i = self.check_long_tweet(i)
    if self.settings["general"]["reverse_timelines"] == False: self.db[name].append(i)
    else: self.db[name].insert(0, i)
    num = num+1
  return num
Esempio n. 6
0
    def on_success(self, data):
        try:
            if "direct_message" in data:
                self.process_dm(data)
            elif "friends" in data:
                self.friends = data["friends"]
                pub.sendMessage("friendsReceived")
            elif "text" in data and utils.is_allowed(data) == True:
                if data["user"]["id"] in self.muted_users: return
                self.check_mentions(data)
                self.check_send(data)
                if data["user"]["id"] in self.friends or data["user"][
                        "screen_name"] == self.db.settings["user_name"]:
                    tweet_event = event.event(event.EVT_OBJECT, 1)
                    tweet_event.SetItem(data)
                    wx.PostEvent(
                        self.parent.search_buffer("buffer", "home_timeline"),
                        tweet_event)
            elif data.has_key("event"):
                if "favorite" == data["event"] and config.main[
                        "other_buffers"]["show_favourites"] == True:
                    self.check_favs(data)
                elif "unfavorite" == data["event"] and config.main[
                        "other_buffers"]["show_favourites"] == True:
                    self.remove_fav(data)
                elif "follow" == data["event"]:
                    self.check_follower(data)
                elif "unfollow" == data["event"] and config.main[
                        "other_buffers"]["show_followers"] == True:
                    self.remove_friend(data)
                elif "block" == data["event"]:
                    self.block_user(data)
                elif "unblock" in data["event"]:
                    self.unblock(data)
                elif "list_created" == data["event"]:
                    item = utils.find_item(data["target_object"]["id"],
                                           self.db.settings["lists"])
                    if item != None:
                        self.db.settings["lists"].append(data["target_object"])
                elif "list_destroyed" == data["event"]:
                    item = utils.find_item(data["target_object"]["id"],
                                           self.db.settings["lists"])
                    if item != None: self.db.settings["lists"].pop(item)
                    self.parent.remove_list(data["target_object"]["id"])
                elif "list_member_added" == data["event"] and data["source"][
                        "screen_name"] == self.db.settings["user_name"]:
                    if len(config.main["other_buffers"]["lists"]) > 0:
                        for i in range(0, self.parent.nb.GetPageCount()):
                            if self.parent.nb.GetPage(i).type == "list":
                                if str(data["target_object"]["id"]) == str(
                                        self.parent.nb.GetPage(i).argumento):
                                    self.parent.nb.GetPage(i).users.append(
                                        data["target"]["id"])
                                    wx.PostEvent(self.parent,
                                                 event.ResultEvent())
                elif "list_member_added" == data["event"] and data["target"][
                        "screen_name"] == self.db.settings["user_name"]:
                    self.db.settings["lists"].append(data["target_object"])
                elif "list_member_removed" == data["event"] and data["source"][
                        "screen_name"] == self.db.settings["user_name"]:
                    if len(config.main["other_buffers"]["lists"]) > 0:
                        for i in range(0, self.parent.nb.GetPageCount()):
                            if self.parent.nb.GetPage(i).type == "list":
                                if str(data["target_object"]["id"]) == str(
                                        self.parent.nb.GetPage(i).argumento):
                                    self.parent.nb.GetPage(i).users.remove(
                                        data["target"]["id"])
                                    wx.PostEvent(self.parent,
                                                 event.ResultEvent())
                elif "list_member_removed" == data["event"] and data[
                        "target"] == self.db.settings["user_name"]:
                    id = data["target_object"]["id"]
                    list = utils.find_item(id, self.db.settings["lists"])
                    if list != None: self.db.settings["lists"].pop(list)
                    self.parent.remove_list(data["target_object"]["id"])
                if config.main["other_buffers"]["show_events"] == True:
                    evento = compose_event(data, self.db.settings["user_name"])
                    tweet_event = event.event(event.EVT_OBJECT, 1)
                    tweet_event.SetItem(evento)
                    text = evento[1]
                    tweet_event.SetAnnounce(text)
                    #     deleted_event = event.event(event.EVT_DELETED, 1)
                    #     deleted_event.SetItem(evento)
                    wx.PostEvent(self.parent.search_buffer("event", "events"),
                                 tweet_event)


#     self.sound.play("new_event.ogg")
        except:
            pass
Esempio n. 7
0
 def on_success(self, data):
  try:
   if "direct_message" in data:
    self.process_dm(data)
   elif "friends" in data:
    self.friends = data["friends"]
    pub.sendMessage("friendsReceived")
   elif "text" in data and utils.is_allowed(data) == True:
    if data["user"]["id"] in self.muted_users: return
    self.check_mentions(data)
    self.check_send(data)
    if data["user"]["id"] in self.friends or data["user"]["screen_name"] == self.db.settings["user_name"]:
     tweet_event = event.event(event.EVT_OBJECT, 1)
     tweet_event.SetItem(data)
     wx.PostEvent(self.parent.search_buffer("buffer", "home_timeline"), tweet_event)
   elif data.has_key("event"):
    if "favorite" == data["event"] and config.main["other_buffers"]["show_favourites"] == True:
     self.check_favs(data)
    elif "unfavorite" == data["event"] and config.main["other_buffers"]["show_favourites"] == True:
     self.remove_fav(data)
    elif "follow" == data["event"]:
     self.check_follower(data)
    elif "unfollow" == data["event"] and config.main["other_buffers"]["show_followers"] == True:
     self.remove_friend(data)
    elif "block" == data["event"]:
     self.block_user(data)
    elif "unblock" in data["event"]:
     self.unblock(data)
    elif "list_created" == data["event"]:
     item = utils.find_item(data["target_object"]["id"], self.db.settings["lists"])
     if item != None: self.db.settings["lists"].append(data["target_object"])
    elif "list_destroyed" == data["event"]:
     item = utils.find_item(data["target_object"]["id"], self.db.settings["lists"])
     if item != None: self.db.settings["lists"].pop(item)
     self.parent.remove_list(data["target_object"]["id"])
    elif "list_member_added" == data["event"] and data["source"]["screen_name"] == self.db.settings["user_name"]:
     if len(config.main["other_buffers"]["lists"]) > 0:
      for i in range(0, self.parent.nb.GetPageCount()):
       if self.parent.nb.GetPage(i).type == "list":
        if str(data["target_object"]["id"]) == str(self.parent.nb.GetPage(i).argumento):
         self.parent.nb.GetPage(i).users.append(data["target"]["id"])
         wx.PostEvent(self.parent, event.ResultEvent())
    elif "list_member_added" == data["event"] and data["target"]["screen_name"] == self.db.settings["user_name"]:
     self.db.settings["lists"].append(data["target_object"])
    elif "list_member_removed" == data["event"] and data["source"]["screen_name"] == self.db.settings["user_name"]:
     if len(config.main["other_buffers"]["lists"]) > 0:
      for i in range(0, self.parent.nb.GetPageCount()):
       if self.parent.nb.GetPage(i).type == "list":
        if str(data["target_object"]["id"]) == str(self.parent.nb.GetPage(i).argumento):
         self.parent.nb.GetPage(i).users.remove(data["target"]["id"])
         wx.PostEvent(self.parent, event.ResultEvent())
    elif "list_member_removed" == data["event"] and data["target"] == self.db.settings["user_name"]:
     id = data["target_object"]["id"]
     list = utils.find_item(id, self.db.settings["lists"])
     if list != None: self.db.settings["lists"].pop(list)
     self.parent.remove_list(data["target_object"]["id"])
    if config.main["other_buffers"]["show_events"] == True:
     evento = compose_event(data, self.db.settings["user_name"])
     tweet_event = event.event(event.EVT_OBJECT, 1)
     tweet_event.SetItem(evento)
     text = evento[1]
     tweet_event.SetAnnounce(text)
#     deleted_event = event.event(event.EVT_DELETED, 1)
#     deleted_event.SetItem(evento)
     wx.PostEvent(self.parent.search_buffer("event", "events"), tweet_event)
#     self.sound.play("new_event.ogg")
  except:
   pass
Esempio n. 8
0
 def on_success(self, data):
  try:
   if data.has_key("text") and utils.is_allowed(data):
    self.check_tls(data)
  except:
   pass
Esempio n. 9
0
 def on_success(self, data):
     try:
         if data.has_key("text") and utils.is_allowed(data):
             self.check_tls(data)
     except:
         pass
Esempio n. 10
0
 def on_success(self, data):
  try:
   if "text" in data and utils.is_allowed(data, self.session.settings["twitter"]["ignored_clients"]) == True:
    self.check_tls(data)
  except:
   pass