diff --git a/CHANGES.md b/CHANGES.md
index 4dcc3493..63f0e78d 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -169,6 +169,8 @@
* Add parse repack, proper level to recent search flow
* Change reenable Trakt Notifier to update collections at end of PP
* Fix NotifierFactory attribute enabled_ondownloadsubtitles should be enabled_onsubtitlesdownload
+* Change, decouple files exist count from status set as downloaded count
+* Change displayShow to include all qualities in snatch/download/archived counts
### 0.12.37 (2017-11-12 10:35:00 UTC)
diff --git a/gui/slick/interfaces/default/displayShow.tmpl b/gui/slick/interfaces/default/displayShow.tmpl
index a499caf5..ff0e044d 100644
--- a/gui/slick/interfaces/default/displayShow.tmpl
+++ b/gui/slick/interfaces/default/displayShow.tmpl
@@ -471,15 +471,16 @@
#end if
- #set $videos = '0' if $season not in $ep_counts['videos'] else $ep_counts['videos'][$season]
+ #set $videos = $ep_counts['videos'].get($season, '0')
#set $season_stats = $ep_counts['status'].get($season, {})
#set $snatched = $season_stats.get($Overview.SNATCHED, None)
#set $wanted = $season_stats.get($Overview.WANTED, None)
#set $qual = $season_stats.get($Overview.QUAL, None)
+ #set $good = $season_stats.get($Overview.GOOD, '0')
#set $archived = False if $season not in $ep_counts['archived'] else $ep_counts['archived'][$season]
$human_season
#if None is not $has_art
- D: $videos #if snatched# S: $snatched #end if##if $wanted# W: $wanted #end if##if $qual# LQ: $qual #end if# of #echo ('', ' with archived' % $archived)[0 < $archived]#
+ D: $good #if snatched# S: $snatched #end if##if $wanted# W: $wanted #end if##if $qual# LQ: $qual #end if# of #if 0 < $archived# with archived#end if##if int($videos)# #echo ('with', 'and')[0 < $archived]# file$maybe_plural($videos)#end if#
#end if
diff --git a/sickbeard/webserve.py b/sickbeard/webserve.py
index b4a3df8a..3e4a66d0 100644
--- a/sickbeard/webserve.py
+++ b/sickbeard/webserve.py
@@ -1375,9 +1375,12 @@ class Home(MainHandler):
if status_overview:
ep_counts[status_overview] += row['cnt']
if ARCHIVED == Quality.splitCompositeStatus(row['status'])[0]:
- ep_counts['archived'].setdefault(row['season'], row['cnt'])
+ ep_counts['archived'].setdefault(row['season'], 0)
+ ep_counts['archived'][row['season']] = row['cnt'] + ep_counts['archived'].get(row['season'], 0)
else:
- ep_counts['status'].setdefault(row['season'], {status_overview: row['cnt']})
+ ep_counts['status'].setdefault(row['season'], {})
+ ep_counts['status'][row['season']][status_overview] = row['cnt'] + \
+ ep_counts['status'][row['season']].get(status_overview, 0)
for row in my_db.select('SELECT season, count(*) AS cnt FROM tv_episodes WHERE showid = ?'
+ ' AND \'\' != location GROUP BY season', [showObj.indexerid]):