Exemplo n.º 1
0
def feed_items(feed, retry=False):
    items = []
    data = cache.get('feed_%s' % feed.pk)
    if data:
        try:
            if data == 'error':
                return {'error': True}
            for entry in data['entries']:
                try:
                    dt = datetime.fromtimestamp(mktime(entry['published_parsed']))
                except KeyError:
                    dt = None
                try:
                    url = entry['link']
                except KeyError:
                    url = "#"
                item = {'title': entry['title'].replace('&', '&').replace(''', "'"),
                        'summary': entry['summary'],
                        'time': dt,
                        'url': url}
                items.append(item)
        except Exception:
            return {'error': True}
    if not items and retry == False:
        try:
            update_feeds()
            return feed_items(feed, True)
        except Exception:
            return {'error': True}
    elif  not items and retry == True:
        return {'error': True}
    return {'items': items}
Exemplo n.º 2
0
def feed_items(feed, retry=False):
    items = []
    data = cache.get('feed_%s' % feed.pk)
    if data:
        for entry in data['entries']:
            dt = datetime.fromtimestamp(mktime(entry['published_parsed']))
            item = {'title': entry['title'].replace('&', '&').replace(''', "'"),
                    'summary': entry['summary'],
                    'time': dt,
                    'url': entry['link']}
            items.append(item)
    if not items and retry == False:
        update_feeds()
        return feed_items(feed, True)
    elif  not items and retry == True:
        return {'error': True}
    return {'items': items}
Exemplo n.º 3
0
def feed_items(feed, retry=False):
    items = []
    data = cache.get('feed_%s' % feed.pk)
    if data:
        try:
            if data == 'error':
                return {'error': True}
            for entry in data['entries']:
                try:
                    dt = datetime.fromtimestamp(
                        mktime(entry['published_parsed']))
                except KeyError:
                    dt = None
                try:
                    url = entry['link']
                except KeyError:
                    url = "#"
                item = {
                    'title':
                    entry['title'].replace('&',
                                           '&').replace(''', "'"),
                    'summary':
                    entry['summary'],
                    'time':
                    dt,
                    'url':
                    url
                }
                items.append(item)
        except Exception:
            return {'error': True}
    if not items and retry == False:
        try:
            update_feeds()
            return feed_items(feed, True)
        except Exception:
            return {'error': True}
    elif not items and retry == True:
        return {'error': True}
    return {'items': items}
Exemplo n.º 4
0
def feed_items(feed, retry=False):
    items = []
    data = cache.get('feed_%s' % feed.pk)
    if data:
        for entry in data['entries']:
            dt = datetime.fromtimestamp(mktime(entry['published_parsed']))
            item = {
                'title':
                entry['title'].replace('&', '&').replace(''', "'"),
                'summary':
                entry['summary'],
                'time':
                dt,
                'url':
                entry['link']
            }
            items.append(item)
    if not items and retry == False:
        update_feeds()
        return feed_items(feed, True)
    elif not items and retry == True:
        return {'error': True}
    return {'items': items}
Exemplo n.º 5
0
 def handle_noargs(self, **options):
     tasks.update_feeds()
     self.stdout.write('Initial RSS sync complete')
Exemplo n.º 6
0
 def handle_noargs(self, **options):
     tasks.update_feeds()
     self.stdout.write('Initial RSS sync complete')