def update(c = 0): user = User.objects.get(id = settings.FOR_USER_ID) if c: items = FlowItem.objects.get_for_user(user,Message) for item in items: if item.object: item.object.delete() item.delete() last_update_date = FlowItem.objects.get_last_update_of_model(Message,interactive = False) log.debug("Last update date: %s", last_update_date) page = 1 go = True while go: go = False xml = utils.getxml(RECENT_STATUSES_URL % (settings.TWITTER_USERNAME,page)) page += 1 for status in xml.getiterator("item"): message = status.find('title') message_text = smart_unicode(message.text) url = smart_unicode(status.find('link').text) # pubDate delivered as UTC timestamp = dateutil.parser.parse(status.find('pubDate').text) if settings.FLOWREPO_ADJUST_DATETIME: timestamp = utils.utc_to_local_datetime(timestamp) if Message.objects.filter(url = url): go = False break _handle_status(message_text, url, timestamp, user) go = True
def __call__(self, **params): # Enforce Yahoo's "no calls quicker than every 1 second" rule delta = time.time() - DeliciousClient.lastcall if delta < 2: time.sleep(2 - delta) DeliciousClient.lastcall = time.time() url = ('%s%s?' % (self._deliciousApiHost,self.method)) + urllib.urlencode(params) return utils.getxml(url, username=self.username, password=self.password)