diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml
index fa7d932f..888a773d 100644
--- a/.github/workflows/unittest.yml
+++ b/.github/workflows/unittest.yml
@@ -15,7 +15,7 @@ jobs:
matrix:
os:
- windows-latest
- python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
+ python-version: ['3.8', '3.9', '3.10', '3.11']
steps:
- name: 'Set up Python ${{ matrix.python-version }}'
uses: actions/setup-python@v4
@@ -34,7 +34,7 @@ jobs:
matrix:
os:
- ubuntu-latest
- python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
+ python-version: ['3.8', '3.9', '3.10', '3.11']
steps:
- name: 'Set up Python ${{ matrix.python-version }}'
uses: actions/setup-python@v4
@@ -55,7 +55,7 @@ jobs:
matrix:
os:
- macos-latest
- python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
+ python-version: ['3.8', '3.9', '3.10', '3.11']
steps:
- name: 'Set up Python ${{ matrix.python-version }}'
uses: actions/setup-python@v4
diff --git a/CHANGES.md b/CHANGES.md
index d9ba3777..3ce2f3fe 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,4 +1,35 @@
-### 3.28.0 (2023-04-12 13:05:00 UTC)
+### 3.29.0 (2023-05-22 00:25:00 UTC)
+
+* Change minimum required Python to version 3.8
+* Update Apprise 1.2.1 (3d07004) to 1.3.0 (6458ab0)
+* Update attr 22.2.0 (a9960de) to 22.2.0 (683d056)
+* Update certifi 2022.12.07 to 2023.05.07
+* Update diskcache 5.4.0 (1cb1425) to 5.6.1 (4d30686)
+* Update feedparser 6.0.10 (5fcb3ae) to 6.0.10 (6d032b8)
+* Update filelock 3.9.0 (ce3e891) to 3.12.0 (b4713c9)
+* Update Msgpack 1.0.4 (b5acfd5) to 1.0.5 (0516c2c)
+* Update Pytvmaze library 2.0.8 (16ed096) to 2.0.8 (81888a5)
+* Update Requests library 2.28.1 (ec553c2) to 2.29.0 (87d63de)
+* Update Send2Trash 1.8.1b0 (0ef9b32) to 1.8.2 (0244f53)
+* Update SimpleJSON 3.18.1 (c891b95) to 3.19.1 (aeb63ee)
+* Update Tornado Web Server 6.3.0 (7186b86) to 6.3.2 (e3aa6c5)
+* Update urllib3 1.26.14 (a06c05c) to 1.26.15 (25cca389)
+* Remove singledispatch
+* Change allow rapidfuzz update from 2.x.x to 3.x.x
+* Change remove redundant py2 import futures
+* Change add jobs to centralise scheduler activities
+* Change refactor scene_exceptions
+* Add to config/media-process/File Handling, "Rename TBA" and "Rename any"
+* Add config to change media process log message if there is no media to process
+* Change view-show text "invalid timeformat" to "time unknown"
+* Add menu Shows/"TMDB Cards"
+* Add a persons available socials (Youtube, LinkedIn, Reddit, Fansite, TikTok, Wikidata)
+* Change use TVDb genres on view-show if config/General/Interface/"Enable IMDb info" is disabled
+* Fix TVDb api episode issues
+* Change remove Python 3.7 from CI
+
+
+### 3.28.0 (2023-04-12 13:05:00 UTC)
* Update html5lib 1.1 (f87487a) to 1.2-dev (3e500bb)
* Update package resource API 63.2.0 (3ae44cd) to 67.5.1 (f51eccd)
@@ -15,7 +46,7 @@
* Add optional "freespace" parameter to endpoints: sg.getrootdirs, sg.addrootdir, sg.deleterootdir
* Change update help of affected endpoints
* Fix explicitly save rootdirs after adding or deleting via Web API
-* Change add Rarbg UHD search category
+* Change add Rarbg UHD search category
### 3.27.13 (2023-04-12 10:15:00 UTC)
diff --git a/HACKS.txt b/HACKS.txt
index 2de46cce..ebd909c2 100644
--- a/HACKS.txt
+++ b/HACKS.txt
@@ -17,6 +17,7 @@ Libs with customisations...
/lib/hachoir_parser/guess.py
/lib/hachoir_parser/misc/torrent.py
/lib/imdbpie
+/lib/language_data/names.py
/lib/lockfile/mkdirlockfile.py
/lib/rtorrent
/lib/scandir/scandir.py
diff --git a/SickBeard.py b/SickBeard.py
index 2c8add05..a19d66f5 100644
--- a/SickBeard.py
+++ b/SickBeard.py
@@ -15,7 +15,6 @@
# You should have received a copy of the GNU General Public License
# along with SickGear. If not, see .
-from __future__ import print_function
from time import sleep
import runpy
print(
diff --git a/gui/slick/css/style.css b/gui/slick/css/style.css
index b2fc5381..9b7fdebe 100644
--- a/gui/slick/css/style.css
+++ b/gui/slick/css/style.css
@@ -1312,6 +1312,9 @@ div.formpaginate{
width:480px;
margin-top:0
}
+#addShowForm #nameToSearch.select2{
+ width:428px;
+}
#addShowForm #nameToSearch.wide{
width:591px;
}
@@ -1439,12 +1442,16 @@ home_browseShows.tmpl
padding-top:2px
}
+.show-card-inner .rating{
+ margin-right:3px;
+}
+
.show-card-inner .heart.icon-glyph{
display:inline-block;
float:none;
height:15px;
width:15px;
- margin:0 -3px -2px 2px
+ margin:0 -3px -2px -1px
}
.show-card-inner p, .show-card-inner i{
@@ -3786,6 +3793,13 @@ option.flag{
background-position:10px 50%
}
+#select2-infosrc-lang-select-container .flag,
+#select2-infosrc-lang-select-results .flag{
+ padding-left:25px;
+ background-repeat:no-repeat;
+ background-position:0 50%
+}
+
/* Anime section for editShow */
.anigrouplists-wrapper{
height:auto;
diff --git a/gui/slick/images/_placeholder16.png b/gui/slick/images/_placeholder16.png
new file mode 100644
index 00000000..782dccd3
Binary files /dev/null and b/gui/slick/images/_placeholder16.png differ
diff --git a/gui/slick/images/flags/hy.png b/gui/slick/images/flags/hy.png
new file mode 100644
index 00000000..6b754cc5
Binary files /dev/null and b/gui/slick/images/flags/hy.png differ
diff --git a/gui/slick/images/flags/ka.png b/gui/slick/images/flags/ka.png
new file mode 100644
index 00000000..3cc3a7b6
Binary files /dev/null and b/gui/slick/images/flags/ka.png differ
diff --git a/gui/slick/images/flags/nb.png b/gui/slick/images/flags/nb.png
new file mode 100644
index 00000000..74264c58
Binary files /dev/null and b/gui/slick/images/flags/nb.png differ
diff --git a/gui/slick/images/flags/nn.png b/gui/slick/images/flags/nn.png
new file mode 100644
index 00000000..74264c58
Binary files /dev/null and b/gui/slick/images/flags/nn.png differ
diff --git a/gui/slick/images/flags/sq.png b/gui/slick/images/flags/sq.png
new file mode 100644
index 00000000..d29dfd4f
Binary files /dev/null and b/gui/slick/images/flags/sq.png differ
diff --git a/gui/slick/images/flags/ua.png b/gui/slick/images/flags/ua.png
deleted file mode 100644
index 7182cb38..00000000
Binary files a/gui/slick/images/flags/ua.png and /dev/null differ
diff --git a/gui/slick/images/flags/uk.png b/gui/slick/images/flags/uk.png
index 405e897c..7182cb38 100644
Binary files a/gui/slick/images/flags/uk.png and b/gui/slick/images/flags/uk.png differ
diff --git a/gui/slick/images/linkedin16.png b/gui/slick/images/linkedin16.png
new file mode 100644
index 00000000..0b25f3c0
Binary files /dev/null and b/gui/slick/images/linkedin16.png differ
diff --git a/gui/slick/images/reddit16.png b/gui/slick/images/reddit16.png
new file mode 100644
index 00000000..f72a298f
Binary files /dev/null and b/gui/slick/images/reddit16.png differ
diff --git a/gui/slick/images/tiktok16.png b/gui/slick/images/tiktok16.png
new file mode 100644
index 00000000..8b31cab4
Binary files /dev/null and b/gui/slick/images/tiktok16.png differ
diff --git a/gui/slick/images/wikidata16.png b/gui/slick/images/wikidata16.png
new file mode 100644
index 00000000..de063467
Binary files /dev/null and b/gui/slick/images/wikidata16.png differ
diff --git a/gui/slick/images/youtube16.png b/gui/slick/images/youtube16.png
new file mode 100644
index 00000000..f111ee7b
Binary files /dev/null and b/gui/slick/images/youtube16.png differ
diff --git a/gui/slick/interfaces/default/cast_role.tmpl b/gui/slick/interfaces/default/cast_role.tmpl
index 54812724..a42ceec7 100644
--- a/gui/slick/interfaces/default/cast_role.tmpl
+++ b/gui/slick/interfaces/default/cast_role.tmpl
@@ -77,7 +77,7 @@ def param(visible=True, rid=None, cache_person=None, cache_char=None, person=Non
#elif $PersonGenders.male == $cur_person.gender#
#set $gender = 'himself'
#end if#
- #set $name = ($cur_person.name, $gender)[$rc_clean.sub('', $cur_person.name.lower()) == $rc_clean.sub('', $character.name.lower())]
+ #set $name = ($cur_person.name, $gender)[$rc_clean.sub('', $cur_person.name.lower()) == $rc_clean.sub('', ($character.name or 'unknown name').lower())]
$name#if 2 <= $num_people and $cur_enum + 1 == $num_people# and #elif 2 < $num_people and $cur_enum < $num_people#, #end if#
#end for
diff --git a/gui/slick/interfaces/default/config_postProcessing.tmpl b/gui/slick/interfaces/default/config_postProcessing.tmpl
index b6e52c34..fd207464 100644
--- a/gui/slick/interfaces/default/config_postProcessing.tmpl
+++ b/gui/slick/interfaces/default/config_postProcessing.tmpl
@@ -85,7 +85,7 @@
files in the completed TV downloads folder
- note: do not enable with external post processing scripts like sabTosickgear for SABnzbd, or NZBMedia for NZBGET
+ note: do not enable with external post processing scripts like sabTosickgear for SABnzbd, or NZBMedia for NZBGET unless you're an expert
@@ -109,6 +109,17 @@
+
+
+
+
#if False:
"""
@@ -231,10 +242,30 @@
+
+
+
+
+
+
+
diff --git a/gui/slick/interfaces/default/displayShow.tmpl b/gui/slick/interfaces/default/displayShow.tmpl
index 29d4667d..1c278b5f 100644
--- a/gui/slick/interfaces/default/displayShow.tmpl
+++ b/gui/slick/interfaces/default/displayShow.tmpl
@@ -113,10 +113,7 @@
#if $show_message
-
- $show_message
-
-
+
$show_message
#end if
@@ -179,6 +176,9 @@
#if not $genres_done and $show_obj.genre
#for $genre in $show_obj.genre.split('|')
#set $genres_done = True
+ #if $TVINFO_TVDB == $show_obj.tvid
+ #set $genre = '
%s' % (anon_url('https://thetvdb.com/genres/', $genre), $genre, $genre)
+ #end if
$genre
#end for#
#end if
@@ -278,7 +278,7 @@
#if $show_obj.airs
#set $showairs = '%s%s' % ($re.sub(r'(?:s|nes|rs|ur)?day', '', $re.sub(r'(y)[^\w]+', r'\1, ', $show_obj.airs)),
- ('', '
(invalid timeformat)')[not $network_timezones.test_timeformat($show_obj.airs)])
+ ('', '
(time unknown)')[not $network_timezones.test_timeformat($show_obj.airs)])
#set $showairs = $showairs.replace('Sat, Sun', 'Sat - Sun').replace('Mon, Tue, Wed, Thu, Fri', 'Mon - Fri').replace('Mon, Tue, Wed, Thu', 'Mon - Thu').replace('Tue, Wed, Thu', 'Tue - Thu')
Air#echo ('s', 'ed')[$show_ended]#
diff --git a/gui/slick/interfaces/default/editShow.tmpl b/gui/slick/interfaces/default/editShow.tmpl
index efc409a7..c9733cab 100644
--- a/gui/slick/interfaces/default/editShow.tmpl
+++ b/gui/slick/interfaces/default/editShow.tmpl
@@ -28,6 +28,24 @@
+
+
+
+
+
#if $varExists('header')
#else
@@ -244,10 +262,10 @@
-