From b9ec121df04ee8048c052af654615cf1696b38a1 Mon Sep 17 00:00:00 2001
From: Dustyn Gibson <dustyn.gibson@gmail.com>
Date: Wed, 10 Jun 2015 18:13:53 -0700
Subject: [PATCH] Fix torrage and zoink.ch, because torcache has a timer and
 returns html instead of a torrent

---
 sickbeard/providers/generic.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/sickbeard/providers/generic.py b/sickbeard/providers/generic.py
index 47f6ef08..4f35c7b4 100644
--- a/sickbeard/providers/generic.py
+++ b/sickbeard/providers/generic.py
@@ -146,6 +146,7 @@ class GenericProvider:
         if self.providerType == GenericProvider.TORRENT:
             try:
                 torrent_hash = re.findall('urn:btih:([\w]{32,40})', result.url)[0].upper()
+                torrent_name = re.findall('dn=([^&]+)', result.url)[0]
 
                 if len(torrent_hash) == 32:
                     torrent_hash = b16encode(b32decode(torrent_hash)).upper()
@@ -156,9 +157,8 @@ class GenericProvider:
 
                 urls = [
                     'http://torcache.net/torrent/' + torrent_hash + '.torrent',
-                    #zoink.ch misconfigured, torrage.com domain expired.
-                    #'http://zoink.ch/torrent/' + torrent_hash + '.torrent',
-                    #'http://torrage.com/torrent/' + torrent_hash.lower() + '.torrent',
+                    'http://zoink.ch/torrent/' + torrent_name + '.torrent',
+                    'http://torrage.com/torrent/' + torrent_hash + '.torrent',
                 ]
             except:
                 urls = [result.url]
@@ -184,6 +184,8 @@ class GenericProvider:
 
                 if self._verify_download(filename):
                     return True
+                else:
+                    helpers._remove_file_failed(filename)
 
         logger.log(u"Failed to download result", logger.WARNING)
         return False
@@ -208,7 +210,7 @@ class GenericProvider:
             except Exception as e:
                 logger.log(u"Failed to validate torrent file: " + ex(e), logger.DEBUG)
 
-            logger.log(u"Result is not a valid torrent file", logger.WARNING)
+            logger.log(u"Result is not a valid torrent file", logger.DEBUG)
             return False
 
         return True
-- 
GitLab