Merge branch 'hotfix/3.27.10'

This commit is contained in:
JackDandy 2023-03-05 00:23:47 +00:00
commit 327add553a
5 changed files with 39 additions and 12 deletions

View file

@ -1,4 +1,10 @@
### 3.27.9 (2023-02-27 01:10:00 UTC) ### 3.27.10 (2023-03-05 00:20:00 UTC)
* Add UHD Bluray
* Change an error text for Cheetah module availability
### 3.27.9 (2023-02-27 01:10:00 UTC)
* Fix remove incorrectly displayed NZBGet tip * Fix remove incorrectly displayed NZBGet tip

View file

@ -40,13 +40,12 @@
#for $cur_quality in sorted($any_quality_list): #for $cur_quality in sorted($any_quality_list):
##set $has_unknown |= ($Quality.UNKNOWN == $cur_quality and $cur_quality in $any_qualities) ##set $has_unknown |= ($Quality.UNKNOWN == $cur_quality and $cur_quality in $any_qualities)
<a href="#" data-quality="$cur_quality" class="btn btn-inverse dark-bg#echo ('', ' active')[$cur_quality in $any_qualities]#" role="button"><i class="icon-glyph searchadd"></i>$Quality.get_quality_ui($cur_quality)</a> <a href="#" data-quality="$cur_quality" class="btn btn-inverse dark-bg#echo ('', ' active')[$cur_quality in $any_qualities]#" role="button"><i class="icon-glyph searchadd"></i>$Quality.get_quality_ui($cur_quality)</a>
#if $Quality.UHD4KWEB == $cur_quality #if $Quality.UHD4KBLURAY == $cur_quality
<span class="btn-placeholder"></span>
<span class="btn-placeholder"></span> <span class="btn-placeholder"></span>
<a href="#" data-quality="$Quality.UNKNOWN" class="btn btn-inverse dark-bg#echo ('', ' active')[$Quality.UNKNOWN in $any_qualities]#" role="button"><i class="icon-glyph searchadd"></i>$Quality.get_quality_ui($Quality.UNKNOWN)</a> <a href="#" data-quality="$Quality.UNKNOWN" class="btn btn-inverse dark-bg#echo ('', ' active')[$Quality.UNKNOWN in $any_qualities]#" role="button"><i class="icon-glyph searchadd"></i>$Quality.get_quality_ui($Quality.UNKNOWN)</a>
#end if #end if
#if $cur_quality in [$Quality.SDDVD, $Quality.FULLHDTV, $Quality.FULLHDBLURAY, $Quality.UHD4KWEB] #if $cur_quality in [$Quality.SDDVD, $Quality.FULLHDTV, $Quality.FULLHDBLURAY, $Quality.UHD4KBLURAY]
<br> <br>
#end if #end if
#end for #end for

View file

@ -70,7 +70,7 @@ except (BaseException, Exception):
try: try:
import Cheetah import Cheetah
except (BaseException, Exception): except (BaseException, Exception):
print('The Python module Cheetah is required') print('The Python module CT3 (Cheetah) is required')
if is_win: if is_win:
print('(1) However, this first run may have just installed it, so try to simply rerun sickgear.py again') print('(1) However, this first run may have just installed it, so try to simply rerun sickgear.py again')
print('(2) If this output is a rerun of (1) then open a command line prompt and manually install using...') print('(2) If this output is a rerun of (1) then open a command line prompt and manually install using...')

View file

@ -94,7 +94,7 @@ class Quality(object):
FULLHDBLURAY = 1 << 8 # 256 FULLHDBLURAY = 1 << 8 # 256
# UHD4KTV = 1 << 9 # reserved for the future # UHD4KTV = 1 << 9 # reserved for the future
UHD4KWEB = 1 << 10 UHD4KWEB = 1 << 10
# UHD4KBLURAY = 1 << 11 # reserved for the future UHD4KBLURAY = 1 << 11
# put these bits at the other end of the spectrum, far enough out that they shouldn't interfere # put these bits at the other end of the spectrum, far enough out that they shouldn't interfere
UNKNOWN = 1 << 15 # 32768 UNKNOWN = 1 << 15 # 32768
@ -110,7 +110,8 @@ class Quality(object):
FULLHDWEBDL: '1080p WEB-DL', FULLHDWEBDL: '1080p WEB-DL',
HDBLURAY: '720p BluRay', HDBLURAY: '720p BluRay',
FULLHDBLURAY: '1080p BluRay', FULLHDBLURAY: '1080p BluRay',
UHD4KWEB: '2160p UHD 4K WEB'} UHD4KWEB: '2160p UHD 4K WEB',
UHD4KBLURAY: '2160p UHD BluRay'}
statusPrefixes = {DOWNLOADED: 'Downloaded', statusPrefixes = {DOWNLOADED: 'Downloaded',
SNATCHED: 'Snatched', SNATCHED: 'Snatched',
@ -345,8 +346,11 @@ class Quality(object):
return Quality.FULLHDWEBDL return Quality.FULLHDWEBDL
if name_has([fmt]): if name_has([fmt]):
return Quality.FULLHDTV return Quality.FULLHDTV
if name_has(['2160p', webfmt]): if name_has(['2160p']):
return Quality.UHD4KWEB if name_has(['bluray']):
return Quality.UHD4KBLURAY
if name_has([webfmt]):
return Quality.UHD4KWEB
return Quality.UNKNOWN return Quality.UNKNOWN
@ -579,7 +583,7 @@ HD = Quality.combineQualities(
[]) # HD720p + HD1080p []) # HD720p + HD1080p
HD720p = Quality.combineQualities([Quality.HDTV, Quality.HDWEBDL, Quality.HDBLURAY], []) HD720p = Quality.combineQualities([Quality.HDTV, Quality.HDWEBDL, Quality.HDBLURAY], [])
HD1080p = Quality.combineQualities([Quality.FULLHDTV, Quality.FULLHDWEBDL, Quality.FULLHDBLURAY], []) HD1080p = Quality.combineQualities([Quality.FULLHDTV, Quality.FULLHDWEBDL, Quality.FULLHDBLURAY], [])
UHD2160p = Quality.combineQualities([Quality.UHD4KWEB], []) UHD2160p = Quality.combineQualities([Quality.UHD4KWEB, Quality.UHD4KBLURAY], [])
ANY = Quality.combineQualities( ANY = Quality.combineQualities(
[Quality.SDTV, Quality.SDDVD, Quality.HDTV, Quality.FULLHDTV, Quality.HDWEBDL, Quality.FULLHDWEBDL, [Quality.SDTV, Quality.SDDVD, Quality.HDTV, Quality.FULLHDTV, Quality.HDWEBDL, Quality.FULLHDWEBDL,
Quality.HDBLURAY, Quality.FULLHDBLURAY, Quality.UNKNOWN], []) # SD + HD Quality.HDBLURAY, Quality.FULLHDBLURAY, Quality.UNKNOWN], []) # SD + HD

View file

@ -127,6 +127,15 @@ quality_tests = {
'Test.Show.S01E02.2160p.WEBRip.x264-GROUP', 'Test.Show.S01E02.2160p.WEBRip.x264-GROUP',
'Test.Show.S01E02.2160p.WEBRip.x265-GROUP', 'Test.Show.S01E02.2160p.WEBRip.x265-GROUP',
'Test.Show.S01E02.2160p.WEBRip.vp9-GROUP'], 'Test.Show.S01E02.2160p.WEBRip.vp9-GROUP'],
common.Quality.UHD4KBLURAY: [
'Test.Show.S01E02.2160p.BluRay.h264-GROUP',
'Test.Show.S01E02.2160p.BluRay.x264-GROUP',
'Test.Show.S01E02.2160p.BluRay.x265-GROUP',
'Test.Show.S01E02.2160p.BluRay.vp9-GROUP',
'Test.Show.S01E02.2160p.UHD.BluRay.h264-GROUP',
'Test.Show.S01E02.2160p.UHD.BluRay.x264-GROUP',
'Test.Show.S01E02.2160p.UHD.BluRay.x265-GROUP',
'Test.Show.S01E02.2160p.UHD.BluRay.vp9-GROUP'],
common.Quality.UNKNOWN: ['Test.Show.S01E02-SiCKGEAR'] common.Quality.UNKNOWN: ['Test.Show.S01E02-SiCKGEAR']
} }
@ -154,7 +163,7 @@ class QualityTests(unittest.TestCase):
for w, v in iteritems(wd): for w, v in iteritems(wd):
if w == sq: if w == sq:
for u, o in sorted(iteritems(v)): for u, o in sorted(iteritems(v)):
self.assertEqual(o, result.get(u)) self.assertEqual(o, result.get(u), msg='%s' % show_quality)
def check_wantedquality_get_wantedlist(self, cases): def check_wantedquality_get_wantedlist(self, cases):
for show_quality, result in cases: for show_quality, result in cases:
@ -260,6 +269,9 @@ class QualityTests(unittest.TestCase):
Quality.UHD4KWEB: { Quality.UHD4KWEB: {
WantedQualities.wantedlist: [], WantedQualities.wantedlist: [],
WantedQualities.bothlists: False, WantedQualities.upgradelist: False}, WantedQualities.bothlists: False, WantedQualities.upgradelist: False},
Quality.UHD4KBLURAY: {
WantedQualities.wantedlist: [],
WantedQualities.bothlists: False, WantedQualities.upgradelist: False},
Quality.UNKNOWN: { Quality.UNKNOWN: {
WantedQualities.wantedlist: [], WantedQualities.wantedlist: [],
WantedQualities.bothlists: False, WantedQualities.upgradelist: False WantedQualities.bothlists: False, WantedQualities.upgradelist: False
@ -300,6 +312,9 @@ class QualityTests(unittest.TestCase):
Quality.UHD4KWEB: { Quality.UHD4KWEB: {
WantedQualities.wantedlist: [], WantedQualities.wantedlist: [],
WantedQualities.bothlists: False, WantedQualities.upgradelist: False}, WantedQualities.bothlists: False, WantedQualities.upgradelist: False},
Quality.UHD4KBLURAY: {
WantedQualities.wantedlist: [],
WantedQualities.bothlists: False, WantedQualities.upgradelist: False},
Quality.UNKNOWN: { Quality.UNKNOWN: {
WantedQualities.wantedlist: [], WantedQualities.wantedlist: [],
WantedQualities.bothlists: False, WantedQualities.upgradelist: False WantedQualities.bothlists: False, WantedQualities.upgradelist: False
@ -341,6 +356,9 @@ class QualityTests(unittest.TestCase):
Quality.UHD4KWEB: { Quality.UHD4KWEB: {
WantedQualities.wantedlist: [], WantedQualities.wantedlist: [],
WantedQualities.bothlists: False, WantedQualities.upgradelist: False}, WantedQualities.bothlists: False, WantedQualities.upgradelist: False},
Quality.UHD4KBLURAY: {
WantedQualities.wantedlist: [],
WantedQualities.bothlists: False, WantedQualities.upgradelist: False},
Quality.UNKNOWN: { Quality.UNKNOWN: {
WantedQualities.wantedlist: [], WantedQualities.wantedlist: [],
WantedQualities.bothlists: False, WantedQualities.upgradelist: False WantedQualities.bothlists: False, WantedQualities.upgradelist: False
@ -3090,7 +3108,7 @@ class QualityTests(unittest.TestCase):
(('The Show (15 Jan 2019) [text] 720HD mp4', False), common.Quality.HDTV), (('The Show (15 Jan 2019) [text] 720HD mp4', False), common.Quality.HDTV),
(('The.Show.s03e11.ep.name.1080p.web.dl.hevc.x265.Group', False), common.Quality.FULLHDWEBDL), (('The.Show.s03e11.ep.name.1080p.web.dl.hevc.x265.Group', False), common.Quality.FULLHDWEBDL),
(('The.Show.S03E05.1080p.NF.WEB-DL.DD5.1.HDR.HEVC-Group', False), common.Quality.FULLHDWEBDL), (('The.Show.S03E05.1080p.NF.WEB-DL.DD5.1.HDR.HEVC-Group', False), common.Quality.FULLHDWEBDL),
(('The.Show.S01E10.Name.2160p.UHD.BluRay.REMUX.HDR.HEVC.DTS-HD.MA.5.1', False), common.Quality.UNKNOWN), (('The.Show.S01E10.Name.2160p.UHD.BluRay.REMUX.HDR.HEVC.DTS-HD.MA.5.1', False), common.Quality.UHD4KBLURAY),
(('Show.S01E07.2160p.4K.UHD.10bit.NF.WEBRip.5.1.x265.HEVC-Group', False), common.Quality.UHD4KWEB), (('Show.S01E07.2160p.4K.UHD.10bit.NF.WEBRip.5.1.x265.HEVC-Group', False), common.Quality.UHD4KWEB),
]) ])
for q, l in iteritems(quality_tests): for q, l in iteritems(quality_tests):