SickGear/sickbeard/indexers/indexer_api.py
echel0n 8004685d3f Re-wrote the indexerApi wrapper, was causing a bottlekneck
Fixed bug when show folder is deleted before being deleted from SB
New Show searches now confirm results have a valid firstaired date
2014-03-26 12:28:46 -07:00

56 lines
No EOL
1.8 KiB
Python

# Author: Nic Wolfe <nic@wolfeden.ca>
# URL: http://code.google.com/p/sickbeard/
#
# This file is part of Sick Beard.
#
# Sick Beard is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Sick Beard is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Sick Beard. If not, see <http://www.gnu.org/licenses/>.
import os
import sickbeard
from indexer_config import initConfig, indexerConfig
class indexerApi(object):
def __init__(self, indexerID=None):
self.indexerID = indexerID
def indexer(self, *args, **kwargs):
if self.indexerID:
return indexerConfig[self.indexerID]['module'](*args, **kwargs)
@property
def config(self):
if self.indexerID:
return indexerConfig[self.indexerID]
return initConfig
@property
def name(self):
if self.indexerID:
return indexerConfig[self.indexerID]['name']
@property
def api_params(self):
if self.indexerID:
if sickbeard.CACHE_DIR:
indexerConfig[self.indexerID]['api_params']['cache'] = os.path.join(sickbeard.CACHE_DIR, self.name)
return indexerConfig[self.indexerID]['api_params']
@property
def cache(self):
if sickbeard.CACHE_DIR:
return self.api_params['cache']
@staticmethod
def indexers():
return {k: v if k is 'id' else v['name'] for k, v in indexerConfig.items()}