From 2722ba8450de2c6f3e9582481cbbf799f24a5989 Mon Sep 17 00:00:00 2001 From: j0hn Date: Fri, 16 Dec 2011 12:01:35 -0300 Subject: [PATCH] implementing latest and recomended movies in monsterdivx --- guicavane/Hosts/Monsterdivx/api.py | 25 ++++++++++++++++++++++++- guicavane/Hosts/Monsterdivx/urls.py | 2 ++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/guicavane/Hosts/Monsterdivx/api.py b/guicavane/Hosts/Monsterdivx/api.py index 0fe8846..1d39c61 100644 --- a/guicavane/Hosts/Monsterdivx/api.py +++ b/guicavane/Hosts/Monsterdivx/api.py @@ -18,7 +18,7 @@ display_name = "Monsterdivx" display_image = "monsterdivx.png" -implements = ["Shows", "Movies"] +implements = ["Shows", "Movies", "Recomended", "Latest"] url_open = UrlOpen() @@ -131,6 +131,8 @@ class Movie(BaseMovie): _hosts_re = re.compile("onclick=\"goSource\('(?P.*?)'," \ "'(?P.*?)'\)") _real_id_re = re.compile("var postID = (.*?);") + _recomended_movies_re = re.compile('

' \ + '(?P.*?)

') def __init__(self, id, name, url): self._id = id @@ -186,3 +188,24 @@ def file_hosts(self): def get_subtitle_url(self, lang="ES", quality=None): return urls.sub_show % (self.id, lang) + + @classmethod + def get_latest(cls): + return cls._get_movies_from_url(urls.latest_movies) + + @classmethod + def get_recomended(cls): + return cls._get_movies_from_url(urls.recomended_movies) + + @classmethod + def _get_movies_from_url(cls, url): + data = url_open(url) + data = data.split("

LISTADO DE PELICULAS

")[1] + + for movie in cls._recomended_movies_re.finditer(data): + movie = movie.groupdict() + + _id = None + name = movie["name"] + url = movie["url"].replace(urls.host, "") + yield Movie(_id, name, url) diff --git a/guicavane/Hosts/Monsterdivx/urls.py b/guicavane/Hosts/Monsterdivx/urls.py index 022e14c..b87891e 100644 --- a/guicavane/Hosts/Monsterdivx/urls.py +++ b/guicavane/Hosts/Monsterdivx/urls.py @@ -8,6 +8,8 @@ episode = host + "/%s/" # Movies +recomended_movies = host + "/-/peliculas/?mas-vistas" +latest_movies = host + "/-/peliculas/" # Sources sources = host + "/wp-content/plugins/monsterdivx-player/scripts/source-iframe.php?" \