Example #1
0
    def forwards(self, orm):
        feeds = Feed.objects.filter(
            feed_address__contains='?feed=comments-rss2')
        feeds_count = feeds.count()
        print " ---> Found %s feeds" % feeds_count

        for f, feed in enumerate(feeds):
            print " ---> %4s/%s: %s - %s" % (f, feeds_count, feed,
                                             feed.feed_address)
            feed.feed_address = feed.feed_address.replace(
                '?feed=comments-rss2', '?feed=rss2')
            feed_address = feed.feed_address or ""
            feed_link = feed.feed_link or ""
            hash_address_and_link = hashlib.sha1(feed_address +
                                                 feed_link).hexdigest()
            duplicate_feeds = Feed.objects.filter(
                hash_address_and_link=hash_address_and_link)
            if not duplicate_feeds:
                feed.save()
            elif feed.pk != duplicate_feeds[0].pk:
                print(" ---> Found different feed (%s), merging..." %
                      duplicate_feeds[0])
                try:
                    Feed.merge_feeds(duplicate_feeds[0].pk,
                                     feed.pk,
                                     force=True)
                except Exception, e:
                    print " ***> Exception in merge: %s" % e
            else:
                feed.save()
Example #2
0
    def forwards(self, orm):
        feeds = Feed.objects.filter(
            feed_address__contains='?feed=comments-rss2'
        )
        feeds_count = feeds.count()
        print " ---> Found %s feeds" % feeds_count

        for f, feed in enumerate(feeds):
            print " ---> %4s/%s: %s - %s" % (f, feeds_count, feed, feed.feed_address)
            feed.feed_address = feed.feed_address.replace('?feed=comments-rss2', '?feed=rss2')
            feed_address = feed.feed_address or ""
            feed_link = feed.feed_link or ""
            hash_address_and_link = hashlib.sha1(feed_address+feed_link).hexdigest()
            duplicate_feeds = Feed.objects.filter(hash_address_and_link=hash_address_and_link)
            if not duplicate_feeds:
                feed.save()
            elif feed.pk != duplicate_feeds[0].pk:
                print(" ---> Found different feed (%s), merging..." % duplicate_feeds[0])
                try:
                    Feed.merge_feeds(duplicate_feeds[0].pk, feed.pk, force=True)
                except Exception, e:
                    print " ***> Exception in merge: %s" % e
            else:
                feed.save()