Fixing feed address change by feed link when colliding with existing feed.

This commit is contained in:
Samuel Clay 2013-04-04 17:13:06 -07:00
parent 179338135e
commit cf4bebcd83

View file

@ -199,6 +199,9 @@ class Feed(models.Model):
logging.debug(" ---> ~FRFeed save collision (%s), checking dupe..." % e)
duplicate_feeds = Feed.objects.filter(feed_address=self.feed_address,
feed_link=self.feed_link)
if not duplicate_feeds:
hash_address_and_link = hashlib.sha1(self.feed_address+self.feed_link).hexdigest()
duplicate_feeds = Feed.objects.filter(hash_address_and_link=hash_address_and_link)
if not duplicate_feeds:
# Feed has been deleted. Just ignore it.
logging.debug(" ***> Changed to: %s - %s: %s" % (self.feed_address, self.feed_link, duplicate_feeds))
@ -385,7 +388,7 @@ class Feed(models.Model):
if feed_address:
if feed_address.endswith('feedburner.com/atom.xml'):
logging.debug(" ---> Feed points to 'Wierdo', ignoring.")
return False
return False, self
try:
self.feed_address = feed_address
feed = self.save()
@ -402,7 +405,7 @@ class Feed(models.Model):
return feed_address, feed
if self.feed_address_locked:
return
return False, self
try:
feed_address, feed = _1()