From b6c8c76be2cba58c017d54ebb0cb9c287fb429f7 Mon Sep 17 00:00:00 2001 From: Ruud Date: Mon, 26 Sep 2011 19:58:32 +0200 Subject: [PATCH] Provider structure --- couchpotato/core/providers/base.py | 40 ------------------- couchpotato/core/providers/movie/base.py | 5 +++ .../providers/movie/couchpotatoapi/main.py | 2 +- couchpotato/core/providers/movie/imdb/main.py | 2 +- .../core/providers/movie/themoviedb/main.py | 2 +- couchpotato/core/providers/nzb/base.py | 27 +++++++++++++ .../core/providers/nzb/newzbin/main.py | 2 +- .../core/providers/nzb/newznab/main.py | 3 +- .../core/providers/nzb/nzbindex/main.py | 2 +- .../core/providers/nzb/nzbmatrix/main.py | 2 +- couchpotato/core/providers/nzb/nzbs/main.py | 2 +- couchpotato/core/providers/subtitle/base.py | 5 +++ couchpotato/core/providers/torrent/base.py | 5 +++ .../providers/torrent/thepiratebay/main.py | 2 +- couchpotato/core/providers/trailer/base.py | 5 +++ 15 files changed, 56 insertions(+), 50 deletions(-) create mode 100644 couchpotato/core/providers/movie/base.py create mode 100644 couchpotato/core/providers/nzb/base.py create mode 100644 couchpotato/core/providers/subtitle/base.py create mode 100644 couchpotato/core/providers/torrent/base.py create mode 100644 couchpotato/core/providers/trailer/base.py diff --git a/couchpotato/core/providers/base.py b/couchpotato/core/providers/base.py index 332a9896..b4346fb6 100644 --- a/couchpotato/core/providers/base.py +++ b/couchpotato/core/providers/base.py @@ -47,10 +47,6 @@ class Provider(Plugin): return self.is_available[host] -class MovieProvider(Provider): - type = 'movie' - - class YarrProvider(Provider): cat_ids = [] @@ -103,39 +99,3 @@ class YarrProvider(Provider): def found(self, new): log.info('Found: score(%(score)s): %(name)s' % new) - - -class NZBProvider(YarrProvider): - type = 'nzb' - - def __init__(self): - super(NZBProvider, self).__init__() - - addEvent('provider.nzb.search', self.search) - addEvent('provider.yarr.search', self.search) - - addEvent('provider.nzb.feed', self.feed) - - def download(self, url = '', nzb_id = ''): - return self.urlopen(url) - - def feed(self): - return [] - - def search(self, movie, quality): - return [] - - def calculateAge(self, unix): - return int(time.time() - unix) / 24 / 60 / 60 - - -class TorrentProvider(YarrProvider): - type = 'torrent' - - -class SubtitleProvider(Provider): - type = 'subtitle' - - -class TrailerProvider(Provider): - type = 'trailer' diff --git a/couchpotato/core/providers/movie/base.py b/couchpotato/core/providers/movie/base.py new file mode 100644 index 00000000..1b43ab8a --- /dev/null +++ b/couchpotato/core/providers/movie/base.py @@ -0,0 +1,5 @@ +from couchpotato.core.providers.base import Provider + + +class MovieProvider(Provider): + type = 'movie' diff --git a/couchpotato/core/providers/movie/couchpotatoapi/main.py b/couchpotato/core/providers/movie/couchpotatoapi/main.py index 2f0c6da8..16718b8e 100644 --- a/couchpotato/core/providers/movie/couchpotatoapi/main.py +++ b/couchpotato/core/providers/movie/couchpotatoapi/main.py @@ -3,7 +3,7 @@ from couchpotato.api import addApiView from couchpotato.core.event import addEvent from couchpotato.core.helpers.request import jsonified, getParams from couchpotato.core.logger import CPLog -from couchpotato.core.providers.base import MovieProvider +from couchpotato.core.providers.movie.base import MovieProvider from couchpotato.core.settings.model import Movie from flask.helpers import json diff --git a/couchpotato/core/providers/movie/imdb/main.py b/couchpotato/core/providers/movie/imdb/main.py index 735ea5a7..daa34a51 100644 --- a/couchpotato/core/providers/movie/imdb/main.py +++ b/couchpotato/core/providers/movie/imdb/main.py @@ -1,6 +1,6 @@ from couchpotato.core.event import addEvent from couchpotato.core.logger import CPLog -from couchpotato.core.providers.base import MovieProvider +from couchpotato.core.providers.movie.base import MovieProvider from imdb import IMDb log = CPLog(__name__) diff --git a/couchpotato/core/providers/movie/themoviedb/main.py b/couchpotato/core/providers/movie/themoviedb/main.py index 4def5be4..6c498d0a 100644 --- a/couchpotato/core/providers/movie/themoviedb/main.py +++ b/couchpotato/core/providers/movie/themoviedb/main.py @@ -2,7 +2,7 @@ from __future__ import with_statement from couchpotato.core.event import addEvent from couchpotato.core.helpers.encoding import simplifyString, toUnicode from couchpotato.core.logger import CPLog -from couchpotato.core.providers.base import MovieProvider +from couchpotato.core.providers.movie.base import MovieProvider from libs.themoviedb import tmdb log = CPLog(__name__) diff --git a/couchpotato/core/providers/nzb/base.py b/couchpotato/core/providers/nzb/base.py new file mode 100644 index 00000000..f8c3834e --- /dev/null +++ b/couchpotato/core/providers/nzb/base.py @@ -0,0 +1,27 @@ +from couchpotato.core.event import addEvent +from couchpotato.core.providers.base import YarrProvider +import time + + +class NZBProvider(YarrProvider): + type = 'nzb' + + def __init__(self): + super(NZBProvider, self).__init__() + + addEvent('nzb.search', self.search) + addEvent('yarr.search', self.search) + + addEvent('nzb.feed', self.feed) + + def download(self, url = '', nzb_id = ''): + return self.urlopen(url) + + def feed(self): + return [] + + def search(self, movie, quality): + return [] + + def calculateAge(self, unix): + return int(time.time() - unix) / 24 / 60 / 60 diff --git a/couchpotato/core/providers/nzb/newzbin/main.py b/couchpotato/core/providers/nzb/newzbin/main.py index e7e157a4..2f31d325 100644 --- a/couchpotato/core/providers/nzb/newzbin/main.py +++ b/couchpotato/core/providers/nzb/newzbin/main.py @@ -1,7 +1,7 @@ from couchpotato.core.event import fireEvent from couchpotato.core.helpers.rss import RSS from couchpotato.core.logger import CPLog -from couchpotato.core.providers.base import NZBProvider +from couchpotato.core.providers.nzb.base import NZBProvider from dateutil.parser import parse from urllib import urlencode import time diff --git a/couchpotato/core/providers/nzb/newznab/main.py b/couchpotato/core/providers/nzb/newznab/main.py index 028162eb..3316c0c9 100644 --- a/couchpotato/core/providers/nzb/newznab/main.py +++ b/couchpotato/core/providers/nzb/newznab/main.py @@ -2,10 +2,9 @@ from couchpotato.core.event import fireEvent from couchpotato.core.helpers.rss import RSS from couchpotato.core.helpers.variable import cleanHost from couchpotato.core.logger import CPLog -from couchpotato.core.providers.base import NZBProvider +from couchpotato.core.providers.nzb.base import NZBProvider from dateutil.parser import parse from urllib import urlencode -from urlparse import urlparse import time import xml.etree.ElementTree as XMLTree diff --git a/couchpotato/core/providers/nzb/nzbindex/main.py b/couchpotato/core/providers/nzb/nzbindex/main.py index f44e586a..13d9f90f 100644 --- a/couchpotato/core/providers/nzb/nzbindex/main.py +++ b/couchpotato/core/providers/nzb/nzbindex/main.py @@ -2,7 +2,7 @@ from couchpotato.core.event import fireEvent from couchpotato.core.helpers.encoding import simplifyString from couchpotato.core.helpers.rss import RSS from couchpotato.core.logger import CPLog -from couchpotato.core.providers.base import NZBProvider +from couchpotato.core.providers.nzb.base import NZBProvider from dateutil.parser import parse from urllib import urlencode import time diff --git a/couchpotato/core/providers/nzb/nzbmatrix/main.py b/couchpotato/core/providers/nzb/nzbmatrix/main.py index da602adc..d7f79429 100644 --- a/couchpotato/core/providers/nzb/nzbmatrix/main.py +++ b/couchpotato/core/providers/nzb/nzbmatrix/main.py @@ -1,7 +1,7 @@ from couchpotato.core.event import fireEvent from couchpotato.core.helpers.rss import RSS from couchpotato.core.logger import CPLog -from couchpotato.core.providers.base import NZBProvider +from couchpotato.core.providers.nzb.base import NZBProvider from couchpotato.environment import Env from dateutil.parser import parse from urllib import urlencode diff --git a/couchpotato/core/providers/nzb/nzbs/main.py b/couchpotato/core/providers/nzb/nzbs/main.py index a86f9d76..da031963 100644 --- a/couchpotato/core/providers/nzb/nzbs/main.py +++ b/couchpotato/core/providers/nzb/nzbs/main.py @@ -2,7 +2,7 @@ from couchpotato.core.event import fireEvent from couchpotato.core.helpers.encoding import simplifyString from couchpotato.core.helpers.rss import RSS from couchpotato.core.logger import CPLog -from couchpotato.core.providers.base import NZBProvider +from couchpotato.core.providers.nzb.base import NZBProvider from dateutil.parser import parse from urllib import urlencode import time diff --git a/couchpotato/core/providers/subtitle/base.py b/couchpotato/core/providers/subtitle/base.py new file mode 100644 index 00000000..57984192 --- /dev/null +++ b/couchpotato/core/providers/subtitle/base.py @@ -0,0 +1,5 @@ +from couchpotato.core.providers.base import Provider + + +class SubtitleProvider(Provider): + type = 'subtitle' diff --git a/couchpotato/core/providers/torrent/base.py b/couchpotato/core/providers/torrent/base.py new file mode 100644 index 00000000..e136a999 --- /dev/null +++ b/couchpotato/core/providers/torrent/base.py @@ -0,0 +1,5 @@ +from couchpotato.core.providers.base import YarrProvider + + +class TorrentProvider(YarrProvider): + type = 'torrent' diff --git a/couchpotato/core/providers/torrent/thepiratebay/main.py b/couchpotato/core/providers/torrent/thepiratebay/main.py index 57728b6a..e7e8e68c 100644 --- a/couchpotato/core/providers/torrent/thepiratebay/main.py +++ b/couchpotato/core/providers/torrent/thepiratebay/main.py @@ -1,5 +1,5 @@ from couchpotato.core.logger import CPLog -from couchpotato.core.providers.base import TorrentProvider +from couchpotato.core.providers.torrent.base import TorrentProvider log = CPLog(__name__) diff --git a/couchpotato/core/providers/trailer/base.py b/couchpotato/core/providers/trailer/base.py new file mode 100644 index 00000000..17d2e5cb --- /dev/null +++ b/couchpotato/core/providers/trailer/base.py @@ -0,0 +1,5 @@ +from couchpotato.core.providers.base import Provider + + +class TrailerProvider(Provider): + type = 'trailer'