diff --git a/channels.json b/channels.json index f630cbe5..812aa11d 100644 --- a/channels.json +++ b/channels.json @@ -12,6 +12,7 @@ "cinemalibero": "https://cinemalibero.cafe", "cinetecadibologna": "http://cinestore.cinetecadibologna.it", "discoveryplus": "https://www.discoveryplus.com", + "dinostreaming": "https://dinostreaming.me/", "dreamsub": "https://www.animeworld.so", "eurostreaming": "https://eurostreaming.parts", "eurostreaming_actor": "https://eurostreaming.futbol", diff --git a/channels/dinostreaming.json b/channels/dinostreaming.json new file mode 100644 index 00000000..0f36e8c9 --- /dev/null +++ b/channels/dinostreaming.json @@ -0,0 +1,11 @@ +{ + "id": "dinostreaming", + "name": "DinoStreaming", + "language": ["ita"], + "active": true, + "thumbnail": "dinostreaming.png", + "banner": "dinostreaming.png", + "categories": ["movie"], + "settings": [], + "not_active": ["include_in_newest"] +} diff --git a/channels/dinostreaming.py b/channels/dinostreaming.py new file mode 100644 index 00000000..3343b9a8 --- /dev/null +++ b/channels/dinostreaming.py @@ -0,0 +1,69 @@ +# -*- coding: utf-8 -*- +# ------------------------------------------------------------ +# Canale per Dinostreaming +# by ilmich +# ------------------------------------------------------------ + +from core import httptools, support +from core.item import Item +from platformcode import logger + +host = support.config.get_channel_url() +headers = [['Referer', host]] + +@support.menu +def mainlist(item): + menu = [('Film',['/sfoglia', 'peliculas']), + ] + search = '' + return locals() + + +@support.scrape +def peliculas(item): + if not item.args == 'search': # pagination not works + if not item.nextpage: + item.page = 1 + else: + item.page = item.nextpage + + if not item.parent_url: + item.parent_url = item.url + + item.nextpage = item.page + 1 + nextPageUrl = "{}/page/{}".format(item.parent_url, item.nextpage) + + resp = httptools.downloadpage(nextPageUrl, only_headers = True) + if (resp.code > 399): # no more elements + nextPageUrl = '' + + patron = r'
[^"]+)\">(?P.*?)</a>.*?<span class="elementor-heading-title elementor-size-default">(?P<year>.*?)</span>' + + def itemlistHook(itemlist): + return itemlist[:-1:] + return locals() + +def search(item, text): + item.url = "{}/?{}".format(host, support.urlencode({'s': text})) + item.args = 'search' + + try: + return peliculas(item) + + except: + import sys + for line in sys.exc_info(): + logger.error("search except: %s" % line) + return [] + +def findvideos(item): + support.info() + data = httptools.downloadpage(item.url).data + video_url = support.match(data, patron=r'<a href="([^"]+)" rel="nofollow" title="Guarda il film in streaming">' ).match + if (video_url == ''): + return [] + + item.url = video_url + itemlist = support.server(item) + return itemlist + diff --git a/servers/dropload.json b/servers/dropload.json index 2c27cf2a..fc8a9068 100644 --- a/servers/dropload.json +++ b/servers/dropload.json @@ -3,7 +3,7 @@ "find_videos": { "patterns": [ { - "pattern": "//dropload.io/(\\w{12})", + "pattern": "//dropload.io/(?:e/)?(\\w{12})", "url": "https://dropload.io/\\1" }, {