#!/usr/bin/env python # -*- coding: utf-8 -*- import re from pycurl import HTTPHEADER from module.network.RequestFactory import getRequest, getURL from module.network.HTTPRequest import BadHeader from module.plugins.internal.SimpleHoster import SimpleHoster, parseFileInfo from module.common.json_layer import json_loads def checkFile(url): response = getURL("http://share-rapid.com/checkfiles.php", post={"files": url}, decode=True) info = json_loads(response) if "error" in info: if info['error'] == False: info['name'] = info['filename'] info['status'] = 2 elif info['msg'] == "Not found": info['status'] = 1 # offline elif info['msg'] == "Service Unavailable": info['status'] = 6 # temp.offline return info def getInfo(urls): for url in urls: info = checkFile(url) if "filename" in info: yield info['name'], info['size'], info['status'], url else: file_info = (url, 0, 3, url) h = getRequest() try: h.c.setopt(HTTPHEADER, ["Accept: text/html"]) html = h.load(url, cookies=True, decode=True) file_info = parseFileInfo(ShareRapidCom, url, html) finally: h.close() yield file_info class ShareRapidCom(SimpleHoster): __name__ = "ShareRapidCom" __type__ = "hoster" __pattern__ = r"http://(?:www\.)?((share(-?rapid\.(biz|com|cz|info|eu|net|org|pl|sk)|-(central|credit|free|net)\.cz|-ms\.net)|(s-?rapid|rapids)\.(cz|sk))|(e-stahuj|mediatack|premium-rapidshare|rapidshare-premium|qiuck)\.cz|kadzet\.com|stahuj-zdarma\.eu|strelci\.net|universal-share\.com)/stahuj/(\w+)" __version__ = "0.52" __description__ = """Share-rapid.com plugin - premium only""" __author_name__ = ("MikyWoW", "zoidberg") __author_mail__ = ("MikyWoW@seznam.cz", "zoidberg@mujmail.cz") FILE_NAME_PATTERN = r'