mirror of
https://github.com/SickGear/SickGear.git
synced 2025-01-05 17:43:37 +00:00
Change how show URLs are made for TV info sources.
Change add ID format to show_url in indexer_config. Change display/edit show, episode view, and add new/existing, for URL creation. Change revert temporary copying show_obj solution. Change image download error to warning.
This commit is contained in:
parent
c0c793e015
commit
0a1673d66a
11 changed files with 47 additions and 43 deletions
|
@ -1,6 +1,7 @@
|
|||
### 0.16.5 (2018-05-07 21:15:00 UTC)
|
||||
|
||||
* Fix HTTP 422 error when using Plex Username and Password
|
||||
* Change how show URLs are made for TV info sources
|
||||
|
||||
|
||||
### 0.16.4 (2018-05-03 12:00:00 UTC)
|
||||
|
|
|
@ -191,7 +191,7 @@
|
|||
#continue
|
||||
#end if
|
||||
#if not $indexerApi($src_id).config.get('defunct')
|
||||
<a class="service addQTip" href="$anon_url($indexerApi($src_id).config['show_url'], $show.ids[$src_id]['id'])" rel="noreferrer" onclick="window.open(this.href, '_blank'); return !1;" title="View $src_name info in new tab">
|
||||
<a class="service addQTip" href="$anon_url($indexerApi($src_id).config['show_url'] % $show.ids[$src_id]['id'])" rel="noreferrer" onclick="window.open(this.href, '_blank'); return !1;" title="View $src_name info in new tab">
|
||||
#else#
|
||||
<a class="service addQTip" href="$sbRoot/home/editShow?show=$show.indexerid#core-component-group3" title="Edit related show IDs">
|
||||
#end if#
|
||||
|
@ -430,7 +430,7 @@
|
|||
#if not len($seasons)
|
||||
<div id="no-episode-data">
|
||||
<h3>No episode details at TV info source
|
||||
<a class="service" href="$anon_url($indexerApi($show.indexer).config['show_url'], $show.indexerid)" onclick="window.open(this.href, '_blank'); return !1;" title="View $indexerApi($show.indexer).name info in new tab">$indexerApi($show.indexer).name</a>
|
||||
<a class="service" href="$anon_url($indexerApi($show.indexer).config['show_url'] % $show.indexerid)" onclick="window.open(this.href, '_blank'); return !1;" title="View $indexerApi($show.indexer).name info in new tab">$indexerApi($show.indexer).name</a>
|
||||
</h3>
|
||||
</div>
|
||||
#else
|
||||
|
|
|
@ -317,7 +317,7 @@
|
|||
#set $data_link = ''
|
||||
#set $use_search_url = False
|
||||
#end if
|
||||
<a id="src-mid-$src_id" class="service" style="margin-right:6px" data-search="#if $use_search_url#y#else#n#end if#" #if $src_search_url#data-search-href="$anon_url($src_search_url % $search_name)" data-search-onclick="window.open(this.href, '_blank'); return !1;" data-search-title="Search for show at $src_name" #end if##if $use_search_url#href="$anon_url($src_search_url % $search_name)" onclick="window.open(this.href, '_blank'); return !1;" title="Search for show at $src_name" #end if#$(data_link)href="$anon_url(sickbeard.indexerApi($src_id).config['show_url'], ($show.ids[$src_id]['id'], $srcid)[$expand_ids and ($src_id == $tvsrc)])" $(data_link)onclick="window.open(this.href, '_blank'); return !1;" $(data_link)title="View $src_name info in new tab"><img alt="$src_name" height="16" width="16" src="$sbRoot/images/$sickbeard.indexerApi($src_id).config['icon']" /></a>
|
||||
<a id="src-mid-$src_id" class="service" style="margin-right:6px" data-search="#if $use_search_url#y#else#n#end if#" #if $src_search_url#data-search-href="$anon_url($src_search_url % $search_name)" data-search-onclick="window.open(this.href, '_blank'); return !1;" data-search-title="Search for show at $src_name" #end if##if $use_search_url#href="$anon_url($src_search_url % $search_name)" onclick="window.open(this.href, '_blank'); return !1;" title="Search for show at $src_name" #end if#$(data_link)href="$anon_url(sickbeard.indexerApi($src_id).config['show_url'] % ($show.ids[$src_id]['id'], $srcid)[$expand_ids and ($src_id == $tvsrc)])" $(data_link)onclick="window.open(this.href, '_blank'); return !1;" $(data_link)title="View $src_name info in new tab"><img alt="$src_name" height="16" width="16" src="$sbRoot/images/$sickbeard.indexerApi($src_id).config['icon']" /></a>
|
||||
#end if
|
||||
$src_name
|
||||
</span>
|
||||
|
|
|
@ -421,10 +421,10 @@
|
|||
</td>
|
||||
|
||||
<td align="center" style="vertical-align:middle">
|
||||
#if $sg_var('USE_IMDB_INFO') and $cur_result['imdb_id']
|
||||
<a href="<%= anon_url('http://www.imdb.com/title/', cur_result['imdb_id']) %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false" title="http://www.imdb.com/title/${cur_result['imdb_id']}"><img alt="[$sickbeard.indexerApi(INDEXER_IMDB).config.get('name')]" height="16" width="16" src="$sbRoot/images/$sickbeard.indexerApi(INDEXER_IMDB).config.get('icon')" /></a>
|
||||
#if $sg_var('USE_IMDB_INFO') and $cur_result['imdb_url']
|
||||
<a href="<%= anon_url(cur_result['imdb_url']) %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false" title="${cur_result['imdb_url']}"><img alt="[$sickbeard.indexerApi(INDEXER_IMDB).config.get('name')]" height="16" width="16" src="$sbRoot/images/$sickbeard.indexerApi(INDEXER_IMDB).config.get('icon')" /></a>
|
||||
#end if
|
||||
<a href="<%= anon_url(sickbeard.indexerApi(cur_indexer).config['show_url'], cur_result['showid']) %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false" title="$sickbeard.indexerApi($cur_indexer).config['show_url']${cur_result['showid']}"><img alt="$sickbeard.indexerApi($cur_indexer).name" height="16" width="16" src="$sbRoot/images/$sickbeard.indexerApi($cur_indexer).config['icon']" /></a>
|
||||
<a href="<%= anon_url(sickbeard.indexerApi(cur_indexer).config['show_url'] % cur_result['showid']) %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false" title="${sickbeard.indexerApi($cur_indexer).config['show_url'] % cur_result['showid']}"><img alt="$sickbeard.indexerApi($cur_indexer).name" height="16" width="16" src="$sbRoot/images/$sickbeard.indexerApi($cur_indexer).config['icon']" /></a>
|
||||
</td>
|
||||
|
||||
<td align="center">
|
||||
|
@ -610,10 +610,10 @@
|
|||
</a></span>
|
||||
|
||||
<span class="tvshowTitleIcons">
|
||||
#if $sg_var('USE_IMDB_INFO') and $cur_result['imdb_id']
|
||||
<a href="<%= anon_url('http://www.imdb.com/title/', cur_result['imdb_id']) %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false" title="http://www.imdb.com/title/${cur_result['imdb_id']}"><img alt="[$sickbeard.indexerApi(INDEXER_IMDB).name]" height="16" width="16" src="$sbRoot/images/$sickbeard.indexerApi(INDEXER_IMDB).config.get('icon')" /></a>
|
||||
#if $sg_var('USE_IMDB_INFO') and $cur_result['imdb_url']
|
||||
<a href="<%= anon_url(cur_result['imdb_url']) %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false" title="${cur_result['imdb_url']}"><img alt="[$sickbeard.indexerApi(INDEXER_IMDB).name]" height="16" width="16" src="$sbRoot/images/$sickbeard.indexerApi(INDEXER_IMDB).config.get('icon')" /></a>
|
||||
#end if
|
||||
<a href="<%= anon_url(sickbeard.indexerApi(cur_indexer).config['show_url'], cur_result['showid']) %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false" title="$sickbeard.indexerApi($cur_indexer).config['show_url']${cur_result['showid']}"><img alt="$sickbeard.indexerApi($cur_indexer).name" height="16" width="16" src="$sbRoot/images/$sickbeard.indexerApi($cur_indexer).config['icon']" /></a>
|
||||
<a href="<%= anon_url(sickbeard.indexerApi(cur_indexer).config['show_url'] % cur_result['showid']) %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false" title="${sickbeard.indexerApi($cur_indexer).config['show_url'] % cur_result['showid']}"><img alt="$sickbeard.indexerApi($cur_indexer).name" height="16" width="16" src="$sbRoot/images/$sickbeard.indexerApi($cur_indexer).config['icon']" /></a>
|
||||
<span><a href="$sbRoot/home/searchEpisode?show=${cur_result['showid']}&season=$cur_result['season']&episode=$cur_result['episode']" title="Manual Search" id="forceUpdate-${cur_result['showid']}" class="epSearch forceUpdate"><img alt="[search]" height="16" width="16" src="$sbRoot/images/search16.png" id="forceUpdateImage-${cur_result['showid']}" /></a></span>
|
||||
</span>
|
||||
</div>
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
</td>
|
||||
#if $curDir['existing_info'][1] and $indexer > 0
|
||||
<td>
|
||||
<a href="<%= anon_url(sickbeard.indexerApi(indexer).config['show_url'], curDir['existing_info'][0]) %>" target="_new">$curDir['existing_info'][1]</a>
|
||||
<a href="<%= anon_url(sickbeard.indexerApi(indexer).config['show_url'] % curDir['existing_info'][0]) %>" target="_new">$curDir['existing_info'][1]</a>
|
||||
</td>
|
||||
#else
|
||||
<td>?</td>
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
#if $use_provided_info
|
||||
#set $provided_indexer_local = $provided_indexer
|
||||
#set $provided_indexer_id_local = $provided_indexer_id
|
||||
Show: <a href="<%= anon_url(sickbeard.indexerApi(provided_indexer_local).config['show_url'], provided_indexer_id_local) %>">$provided_indexer_name</a>
|
||||
Show: <a href="<%= anon_url(sickbeard.indexerApi(provided_indexer_local).config['show_url'] % provided_indexer_id_local) %>">$provided_indexer_name</a>
|
||||
<input type="hidden" name="indexerLang" value="en">
|
||||
<input type="hidden" name="whichSeries" value="#echo '|'.join([str($provided_indexer), '', str($provided_indexer_id), $provided_indexer_name])#">
|
||||
<input type="hidden" id="providedName" value="$provided_indexer_name">
|
||||
|
|
|
@ -123,7 +123,7 @@ $(document).ready(function () {
|
|||
+ (0 < item[result.Overview].length ? '<p style=\'margin:0 0 2px\'>' + item[result.Overview] + '</p>' : '')
|
||||
+ '<span style=\'float:right;clear:both\'>Click for more</span>'
|
||||
+ '"'
|
||||
+ ' href="' + anonURL + item[result.SrcUrl] + item[result.ShowID] + ((data.langid && '' != data.langid) ? '&lid=' + data.langid : '') + '"'
|
||||
+ ' href="' + anonURL + item[result.SrcUrl] + ((data.langid && '' != data.langid) ? '&lid=' + data.langid : '') + '"'
|
||||
+ ' onclick="window.open(this.href, \'_blank\'); return !1;"'
|
||||
+ '>' + (config.sortArticle ? displayShowName : displayShowName.replace(/^((?:A(?!\s+to)n?)|The)(\s)+(.*)/i, '$3$2<span class="article">($1)</span>')) + '</a>'
|
||||
+ showstartdate
|
||||
|
|
|
@ -105,7 +105,7 @@ info_src = INDEXER_TVDB
|
|||
indexerConfig[info_src].update(dict(
|
||||
base_url=(indexerConfig[info_src]['main_url'] +
|
||||
'api/%(apikey)s/series/' % indexerConfig[info_src]['api_params']),
|
||||
show_url='%s?tab=series&id=' % indexerConfig[info_src]['main_url'],
|
||||
show_url='%s?tab=series&id=%%d' % indexerConfig[info_src]['main_url'],
|
||||
finder=(indexerConfig[info_src]['main_url'] +
|
||||
'index.php?fieldlocation=2&language=7&order=translation&searching=Search&tab=advancedsearch&seriesname=%s'),
|
||||
scene_url='https://midgetspy.github.io/sb_tvdb_scene_exceptions/exceptions.txt',
|
||||
|
@ -116,7 +116,7 @@ info_src = INDEXER_TVDB_V1
|
|||
indexerConfig[info_src].update(dict(
|
||||
base_url=(indexerConfig[info_src]['main_url'] +
|
||||
'api/%(apikey)s/series/' % indexerConfig[info_src]['api_params']),
|
||||
show_url='%s?tab=series&id=' % indexerConfig[info_src]['main_url'],
|
||||
show_url='%s?tab=series&id=%%d' % indexerConfig[info_src]['main_url'],
|
||||
finder=(indexerConfig[info_src]['main_url'] +
|
||||
'index.php?fieldlocation=2&language=7&order=translation&searching=Search&tab=advancedsearch&seriesname=%s'),
|
||||
))
|
||||
|
@ -125,7 +125,7 @@ info_src = INDEXER_TVRAGE
|
|||
indexerConfig[info_src].update(dict(
|
||||
base_url=(indexerConfig[info_src]['main_url'] +
|
||||
'showinfo.php?key=%(apikey)s&sid=' % indexerConfig[info_src]['api_params']),
|
||||
show_url='%sshows/id-' % indexerConfig[info_src]['main_url'],
|
||||
show_url='%sshows/id-%%d' % indexerConfig[info_src]['main_url'],
|
||||
scene_url='https://sickgear.github.io/sg_tvrage_scene_exceptions/exceptions.txt',
|
||||
defunct=True,
|
||||
))
|
||||
|
@ -133,27 +133,27 @@ indexerConfig[info_src].update(dict(
|
|||
info_src = INDEXER_TVMAZE
|
||||
indexerConfig[info_src].update(dict(
|
||||
base_url='https://api.tvmaze.com/',
|
||||
show_url='%sshows/' % indexerConfig[info_src]['main_url'],
|
||||
show_url='%sshows/%%d' % indexerConfig[info_src]['main_url'],
|
||||
finder='%ssearch?q=%s' % (indexerConfig[info_src]['main_url'], '%s'),
|
||||
))
|
||||
|
||||
info_src = INDEXER_IMDB
|
||||
indexerConfig[info_src].update(dict(
|
||||
base_url=indexerConfig[info_src]['main_url'],
|
||||
show_url='%stitle/tt' % indexerConfig[info_src]['main_url'],
|
||||
show_url='%stitle/tt%%07d' % indexerConfig[info_src]['main_url'],
|
||||
finder='%sfind?q=%s&s=tt&ttype=tv&ref_=fn_tv' % (indexerConfig[info_src]['main_url'], '%s'),
|
||||
))
|
||||
|
||||
info_src = INDEXER_TRAKT
|
||||
indexerConfig[info_src].update(dict(
|
||||
base_url=indexerConfig[info_src]['main_url'],
|
||||
show_url='%sshows/' % indexerConfig[info_src]['main_url'],
|
||||
show_url='%sshows/%%d' % indexerConfig[info_src]['main_url'],
|
||||
finder='%ssearch/shows?query=%s' % (indexerConfig[info_src]['main_url'], '%s'),
|
||||
))
|
||||
|
||||
info_src = INDEXER_TMDB
|
||||
indexerConfig[info_src].update(dict(
|
||||
base_url=indexerConfig[info_src]['main_url'],
|
||||
show_url='%stv/' % indexerConfig[info_src]['main_url'],
|
||||
show_url='%stv/%%d' % indexerConfig[info_src]['main_url'],
|
||||
finder='%ssearch/tv?query=%s' % (indexerConfig[info_src]['main_url'], '%s'),
|
||||
))
|
||||
|
|
|
@ -32,7 +32,8 @@ def getShowImage(url, imgNum=None, showName=None):
|
|||
|
||||
image_data = helpers.getURL(temp_url)
|
||||
if None is image_data:
|
||||
logger.log('There was an error trying to retrieve the image%s, aborting' % ('', ' for show: %s' % showName)[None is not showName], logger.ERROR)
|
||||
logger.log('There was an error trying to retrieve the image%s, aborting' %
|
||||
('', ' for show: %s' % showName)[None is not showName], logger.WARNING)
|
||||
return
|
||||
|
||||
return image_data
|
||||
|
|
|
@ -2177,7 +2177,10 @@ class CMD_SickGearGetIndexers(ApiCall):
|
|||
not indexer_config.indexerConfig[i].get('defunct')
|
||||
else:
|
||||
key = d
|
||||
val = (v, '%s{INDEXER-ID}' % v)['show_url' == d]
|
||||
if 'show_url' == d:
|
||||
val = re.sub(r'%\d{,2}d', '{INDEXER-ID}', v, flags=re.I)
|
||||
else:
|
||||
val = v
|
||||
result.setdefault(i, {}).update({key: val})
|
||||
return _responds(RESULT_SUCCESS, result)
|
||||
|
||||
|
|
|
@ -842,6 +842,18 @@ class MainHandler(WebHandler):
|
|||
sql_results[index]['data_show_name'] = value_maybe_article(item['show_name'])
|
||||
sql_results[index]['data_network'] = value_maybe_article(item['network'])
|
||||
|
||||
imdb_id = None
|
||||
if item['imdb_id']:
|
||||
try:
|
||||
imdb_id = helpers.tryInt(re.search(r'(\d+)', item['imdb_id']).group(1))
|
||||
except (StandardError, Exception):
|
||||
pass
|
||||
if imdb_id:
|
||||
sql_results[index]['imdb_url'] = sickbeard.indexers.indexer_config.indexerConfig[
|
||||
sickbeard.indexers.indexer_config.INDEXER_IMDB]['show_url'] % imdb_id
|
||||
else:
|
||||
sql_results[index]['imdb_url'] = ''
|
||||
|
||||
show_id = item['showid']
|
||||
if show_id in t.fanart:
|
||||
continue
|
||||
|
@ -1719,14 +1731,6 @@ class Home(MainHandler):
|
|||
|
||||
return json.dumps({'success': t.respond()})
|
||||
|
||||
@staticmethod
|
||||
def fix_imdb_id(obj):
|
||||
try:
|
||||
obj.ids[sickbeard.indexers.indexer_config.INDEXER_IMDB]['id'] = '%07d' % obj.ids[
|
||||
sickbeard.indexers.indexer_config.INDEXER_IMDB]['id']
|
||||
except (StandardError, Exception):
|
||||
pass
|
||||
|
||||
def displayShow(self, show=None):
|
||||
|
||||
if show is None:
|
||||
|
@ -1801,9 +1805,7 @@ class Home(MainHandler):
|
|||
t.submenu.append(
|
||||
{'title': 'Download Subtitles', 'path': 'home/subtitleShow?show=%d' % showObj.indexerid})
|
||||
|
||||
import copy
|
||||
t.show = copy.deepcopy(showObj)
|
||||
self.fix_imdb_id(t.show)
|
||||
t.show = showObj
|
||||
with BS4Parser('<html><body>%s</body></html>' % showObj.overview, features=['html5lib', 'permissive']) as soup:
|
||||
try:
|
||||
soup.a.replace_with(soup.new_tag(''))
|
||||
|
@ -2233,9 +2235,7 @@ class Home(MainHandler):
|
|||
t.groups.append(dict([('name', 'Did not initialise AniDB. Check debug log if reqd.'), ('rating', ''), ('range', '')]))
|
||||
|
||||
with showObj.lock:
|
||||
import copy
|
||||
t.show = copy.deepcopy(showObj)
|
||||
self.fix_imdb_id(t.show)
|
||||
t.show = showObj
|
||||
t.show_has_scene_map = showObj.indexerid in sickbeard.scene_exceptions.xem_ids_list[showObj.indexer]
|
||||
|
||||
# noinspection PyTypeChecker
|
||||
|
@ -3167,7 +3167,8 @@ class NewHomeAddShows(Home):
|
|||
sickbeard.showList, {(iid, INDEXER_TVDB)[INDEXER_TVDB_X == iid]: int(show['id'])},
|
||||
no_mapped_ids=False)]) and '/home/displayShow?show=%s' % int(show['id']),
|
||||
iid, (iid, INDEXER_TVDB)[INDEXER_TVDB_X == iid],
|
||||
sickbeard.indexerApi((iid, INDEXER_TVDB)[INDEXER_TVDB_X == iid]).config['show_url'], int(show['id']),
|
||||
sickbeard.indexerApi((iid, INDEXER_TVDB)[INDEXER_TVDB_X == iid]).config['show_url'] % int(show['id']),
|
||||
int(show['id']),
|
||||
show['seriesname'], self.encode_html(show['seriesname']), show['firstaired'],
|
||||
show.get('network', '') or '', show.get('genres', '') or '',
|
||||
re.sub(r'([,.!][^,.!]*?)$', '...',
|
||||
|
@ -3476,7 +3477,7 @@ class NewHomeAddShows(Home):
|
|||
title=title.strip(),
|
||||
images=images,
|
||||
url_src_db='http://anidb.net/perl-bin/animedb.pl?show=anime&aid=%s' % ids['anidb'],
|
||||
url_tvdb='%s%s' % (sickbeard.indexerApi(INDEXER_TVDB).config['show_url'], ids['tvdb']),
|
||||
url_tvdb=sickbeard.indexerApi(INDEXER_TVDB).config['show_url'] % ids['tvdb'],
|
||||
votes=votes, rating=rating,
|
||||
genres='', overview=''
|
||||
))
|
||||
|
@ -3628,8 +3629,7 @@ class NewHomeAddShows(Home):
|
|||
src = ((None, 'tvrage')[INDEXER_TVRAGE == indexer], 'tvdb')[INDEXER_TVDB == indexer]
|
||||
if src:
|
||||
filtered[-1]['ids'][src] = indexerid
|
||||
filtered[-1]['url_' + src] = '%s%s' % (
|
||||
sickbeard.indexerApi(indexer).config['show_url'], indexerid)
|
||||
filtered[-1]['url_' + src] = sickbeard.indexerApi(indexer).config['show_url'] % indexerid
|
||||
except (AttributeError, TypeError, KeyError, IndexError):
|
||||
pass
|
||||
|
||||
|
@ -3712,8 +3712,8 @@ class NewHomeAddShows(Home):
|
|||
src = ((None, 'tvrage')[INDEXER_TVRAGE == show.indexer], 'tvdb')[INDEXER_TVDB == show.indexer]
|
||||
if src:
|
||||
filtered[-1]['ids'][src] = show.indexerid
|
||||
filtered[-1]['url_' + src] = '%s%s' % (
|
||||
sickbeard.indexerApi(show.indexer).config['show_url'], show.indexerid)
|
||||
filtered[-1]['url_' + src] = sickbeard.indexerApi(show.indexer).config['show_url'] % \
|
||||
show.indexerid
|
||||
except (AttributeError, TypeError, KeyError, IndexError):
|
||||
continue
|
||||
|
||||
|
@ -3973,8 +3973,7 @@ class NewHomeAddShows(Home):
|
|||
('%.2f' % (item['show'].get('rating') * 10)).replace('.00', '') or 0,
|
||||
title=item['show']['title'].strip(),
|
||||
url_src_db='https://trakt.tv/shows/%s' % item['show']['ids']['slug'],
|
||||
url_tvdb=('', '%s%s' % (sickbeard.indexerApi(INDEXER_TVDB).config['show_url'],
|
||||
item['show']['ids']['tvdb']))[
|
||||
url_tvdb=('', sickbeard.indexerApi(INDEXER_TVDB).config['show_url'] % item['show']['ids']['tvdb'])[
|
||||
isinstance(item['show']['ids']['tvdb'], (int, long))
|
||||
and 0 < item['show']['ids']['tvdb']],
|
||||
votes='0' if 'votes' not in item['show'] else item['show']['votes']))
|
||||
|
|
Loading…
Reference in a new issue