From 3f8729ef8317ee989f7efdbf6a5b396b0b4ae783 Mon Sep 17 00:00:00 2001 From: echel0n Date: Wed, 30 Apr 2014 07:02:47 -0700 Subject: [PATCH] Added back in name cache but force it to only store entries if they have a valid Indexer ID otherwise disgard them. --- sickbeard/name_cache.py | 19 +++++++------------ sickbeard/tvcache.py | 4 ++++ 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/sickbeard/name_cache.py b/sickbeard/name_cache.py index 57641570..5d7cef8a 100644 --- a/sickbeard/name_cache.py +++ b/sickbeard/name_cache.py @@ -28,14 +28,11 @@ def addNameToCache(name, indexer_id): indexer_id: the TVDB and TVRAGE id that this show should be cached with (can be None/0 for unknown) """ - # standardize the name we're using to account for small differences in providers - name = sanitizeSceneName(name) - - if not indexer_id: - indexer_id = 0 - - cacheDB = db.DBConnection('cache.db') - cacheDB.action("INSERT INTO scene_names (indexer_id, name) VALUES (?, ?)", [indexer_id, name]) + if indexer_id: + # standardize the name we're using to account for small differences in providers + name = sanitizeSceneName(name) + cacheDB = db.DBConnection('cache.db') + cacheDB.action("INSERT INTO scene_names (indexer_id, name) VALUES (?, ?)", [indexer_id, name]) def retrieveNameFromCache(name): @@ -53,10 +50,8 @@ def retrieveNameFromCache(name): cacheDB = db.DBConnection('cache.db') cache_results = cacheDB.select("SELECT * FROM scene_names WHERE name = ?", [name]) - if not cache_results: - return None - - return int(cache_results[0]["indexer_id"]) + if cache_results: + return int(cache_results[0]["indexer_id"]) def clearCache(): diff --git a/sickbeard/tvcache.py b/sickbeard/tvcache.py index 98ff6026..18d32ffb 100644 --- a/sickbeard/tvcache.py +++ b/sickbeard/tvcache.py @@ -242,6 +242,10 @@ class TVCache(): # if we didn't find a Indexer ID return None if indexer_id: + # add to name cache if we didn't get it from the cache + if not from_cache: + name_cache.addNameToCache(parse_result.series_name, indexer_id) + # if the show isn't in out database then return None try: showObj = helpers.findCertainShow(sickbeard.showList, indexer_id)