summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/sickbeard
diff options
context:
space:
mode:
Diffstat (limited to 'makefu/2configs/sickbeard')
-rw-r--r--makefu/2configs/sickbeard/cheetah3.nix25
-rw-r--r--makefu/2configs/sickbeard/debug.patch91
-rw-r--r--makefu/2configs/sickbeard/sickgear.nix16
3 files changed, 126 insertions, 6 deletions
diff --git a/makefu/2configs/sickbeard/cheetah3.nix b/makefu/2configs/sickbeard/cheetah3.nix
new file mode 100644
index 000000000..df928edd6
--- /dev/null
+++ b/makefu/2configs/sickbeard/cheetah3.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+ pname = "cheetah3";
+ version = "3.2.4";
+
+
+ src = fetchPypi {
+ pname = "Cheetah3";
+ inherit version;
+ sha256 = "caabb9c22961a3413ac85cd1e5525ec9ca80daeba6555f4f60802b6c256e252b";
+ };
+
+ doCheck = false;
+
+ meta = with lib; {
+ description = "Cheetah is a template engine and code generation tool";
+ homepage = https://cheetahtemplate.org/;
+ license = licenses.mit;
+ # maintainers = [ maintainers. ];
+ };
+}
diff --git a/makefu/2configs/sickbeard/debug.patch b/makefu/2configs/sickbeard/debug.patch
new file mode 100644
index 000000000..aa22142c8
--- /dev/null
+++ b/makefu/2configs/sickbeard/debug.patch
@@ -0,0 +1,91 @@
+diff --git a/SickBeard.py b/SickBeard.py
+index 31cfd1e1..10a4ef5e 100755
+--- a/SickBeard.py
++++ b/SickBeard.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python2
++#!/usr/bin/env python3
+ #
+ # This file is part of SickGear.
+ #
+diff --git a/sickbeard/providers/generic.py b/sickbeard/providers/generic.py
+index 5c1f7bfe..8999b468 100644
+--- a/sickbeard/providers/generic.py
++++ b/sickbeard/providers/generic.py
+@@ -1203,6 +1203,7 @@ class GenericProvider(object):
+ ep_num = None
+ if 1 == len(ep_obj_results):
+ ep_num = ep_obj_results[0].episode
++ logger.log(f'{ep_obj_results[0]}',logger.DEBUG)
+ logger.log(u'Single episode result.', logger.DEBUG)
+ elif 1 < len(ep_obj_results):
+ ep_num = MULTI_EP_RESULT
+diff --git a/sickbeard/providers/horriblesubs.py b/sickbeard/providers/horriblesubs.py
+index 870e8461..dbdeacc8 100644
+--- a/sickbeard/providers/horriblesubs.py
++++ b/sickbeard/providers/horriblesubs.py
+@@ -98,6 +98,7 @@ class HorribleSubsProvider(generic.TorrentProvider):
+
+ results = self._sort_seeding(mode, results + items[mode])
+
++ logger.log(f"{results}",logger.DEBUG)
+ return results
+
+ def _season_strings(self, *args, **kwargs):
+@@ -131,6 +132,7 @@ class HorribleSubsProvider(generic.TorrentProvider):
+ .find_all('a', href=re.compile('(?i)(torrent$|^magnet:)'))))[0]
+ except (BaseException, Exception):
+ pass
++ logger.log(f"{result}",logger.DEBUG)
+ return result
+
+
+diff --git a/sickbeard/search.py b/sickbeard/search.py
+index f4957c3a..dd3a352d 100644
+--- a/sickbeard/search.py
++++ b/sickbeard/search.py
+@@ -986,22 +986,26 @@ def search_providers(
+
+ best_result = pick_best_result(found_results[provider_id][cur_search_result], show_obj, quality_list,
+ filter_rls=orig_thread_name)
+-
++ logger.log(f"Best result: {best_result}",logger.DEBUG)
+ # if all results were rejected move on to the next episode
+ if not best_result:
+ continue
+-
++
+ # filter out possible bad torrents from providers
+ if 'torrent' == best_result.resultType:
++ logger.log(f"Best result is torrent {best_result.url}",logger.DEBUG)
+ if not best_result.url.startswith('magnet') and None is not best_result.get_data_func:
+ best_result.url = best_result.get_data_func(best_result.url)
+ best_result.get_data_func = None # consume only once
+ if not best_result.url:
+ continue
+ if best_result.url.startswith('magnet'):
++ logger.log("url is magnet link",logger.DEBUG)
+ if 'blackhole' != sickbeard.TORRENT_METHOD:
++ logger.log(f"Setting content to None because TORRENT_METHODD is not blackhole ({sickbeard.TORRENT_METHOD} instead)",logger.DEBUG)
+ best_result.content = None
+ else:
++ logger.log("url is torrent link",logger.DEBUG)
+ cache_file = ek.ek(os.path.join, sickbeard.CACHE_DIR or helpers.get_system_temp_dir(),
+ '%s.torrent' % (helpers.sanitize_filename(best_result.name)))
+ if not helpers.download_file(best_result.url, cache_file, session=best_result.provider.session):
+@@ -1044,6 +1048,7 @@ def search_providers(
+ best_result.after_get_data_func(best_result)
+ best_result.after_get_data_func = None # consume only once
+
++ logger.log(f"After torrent detection",logger.DEBUG)
+ # add result if its not a duplicate
+ found = False
+ for i, result in enumerate(final_results):
+@@ -1054,6 +1059,7 @@ def search_providers(
+ else:
+ found = True
+ if not found:
++ logger.log(f"Not already found, adding to best_result to final_results",logger.DEBUG)
+ final_results += [best_result]
+
+ # check that we got all the episodes we wanted first before doing a match and snatch
diff --git a/makefu/2configs/sickbeard/sickgear.nix b/makefu/2configs/sickbeard/sickgear.nix
index 1b7a57e8b..281ec1845 100644
--- a/makefu/2configs/sickbeard/sickgear.nix
+++ b/makefu/2configs/sickbeard/sickgear.nix
@@ -1,16 +1,19 @@
-{ stdenv, fetchFromGitHub, python2, makeWrapper }:
+{ stdenv, fetchFromGitHub, python3, makeWrapper }:
let
- pythonEnv = python2.withPackages(ps: with ps; [ cheetah ]);
+ pythonEnv = python3.withPackages(ps: with ps; [
+ (python3.pkgs.callPackage ./cheetah3.nix {})
+ ]);
in stdenv.mkDerivation rec {
pname = "sickgear";
- version = "0.20.0";
+ #version = "0.21.6";
+ version = "0.21.7";
src = fetchFromGitHub {
owner = "SickGear";
repo = "SickGear";
- rev = "release_${version}";
- sha256 = "1zg95szvfbmwinx1z5nlbmyck7ximvyna0x71yflmadkgf88nv0k";
+ rev = "hotfix/${version}";
+ sha256 = "0kj8l6xq7vycr6d15lxybnk02b39z0zk4jzy0b2lbapgk0kx3ims";
};
dontBuild = true;
@@ -18,12 +21,13 @@ in stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ pythonEnv ];
+ patches = [ ./debug.patch ];
installPhase = ''
mkdir -p $out/bin
cp -R {autoProcessTV,gui,lib,sickbeard,sickgear.py,SickBeard.py} $out/
- makeWrapper $out/SickBeard.py $out/bin/sickgear
+ makeWrapper $out/sickgear.py $out/bin/sickgear
'';
meta = with stdenv.lib; {