def timeline(self, timeline=None, since_id=None, count=DEFAULT_FETCH, callback=None, loadImages=True): args = {'count' : count} search = False if timeline.startswith('search.json'): # Special case search timeline search = True args = {'rpp' : count} if since_id: args['since_id'] = since_id sep = '?' if timeline.find('?') >= 0: sep = '&' data = None try: util.get_global('app').in_progress = True data = self._fetch('/%s%s%s' % (timeline, sep, urllib.urlencode(args))) if loadImages: if search: data = data['results'] for status in data: who, img = None, None if not search: who = status['user']['screen_name'] img = status['user']['profile_image_url'] else: who = status['from_user'] img = status['profile_image_url'] try: util.saveImageToFile(who, img) except Exception, ex: logging.error('Downloading failed: %s %s' % (status, ex)) finally: util.get_global('app').in_progress = False if not callback: return data gobject.idle_add(callback, data)