diff options
| -rw-r--r-- | module/plugins/accounts/FilesMailRu.py | 41 | ||||
| -rw-r--r-- | module/plugins/hoster/FilesMailRu.py | 21 | ||||
| -rw-r--r-- | module/plugins/hoster/NetloadIn.py | 6 | ||||
| -rw-r--r-- | module/web/templates/default/settings.html | 2 | 
4 files changed, 57 insertions, 13 deletions
| diff --git a/module/plugins/accounts/FilesMailRu.py b/module/plugins/accounts/FilesMailRu.py new file mode 100644 index 000000000..98fe13248 --- /dev/null +++ b/module/plugins/accounts/FilesMailRu.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- + +""" +    This program 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. + +    This program 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 this program; if not, see <http://www.gnu.org/licenses/>. + +    @author: RaNaN +""" + +from module.plugins.Account import Account +import re +from time import time + +class FilesMailRu(Account): +    __name__ = "FilesMailRu" +    __version__ = "0.1" +    __type__ = "account" +    __description__ = """filesmail.ru account plugin""" +    __author_name__ = ("RaNaN") +    __author_mail__ = ("RaNaN@pyload.org") + +    def loadAccountInfo(self, user, req): +        return {"validuntil": None, "trafficleft": None} +     +    def login(self, user, data,req): +        user, domain = user.split("@") + +        page = req.load("http://swa.mail.ru/cgi-bin/auth", None, { "Domain" : domain, "Login": user, "Password" : data['password'], "Page" : "http://files.mail.ru/"}, cookies=True) + +        if "Неверное имя пользователя или пароль" in page: # @TODO seems not to work +            self.wrongPassword() diff --git a/module/plugins/hoster/FilesMailRu.py b/module/plugins/hoster/FilesMailRu.py index ff6cb76a9..6002ab3dc 100644 --- a/module/plugins/hoster/FilesMailRu.py +++ b/module/plugins/hoster/FilesMailRu.py @@ -39,9 +39,9 @@ class FilesMailRu(Hoster):      def setup(self): -        self.multiDL = True -        self.resumeDownload = True -        self.chunkLimit = 1 +        if not self.account: +            self.multiDL = False +            self.chunkLimit = 1      def process(self, pyfile):          self.html = self.load(pyfile.url) @@ -58,10 +58,13 @@ class FilesMailRu(Hoster):          pyfile.name = self.getFileName()          #prepare and download''' -        self.prepare() -        self.download(self.getFileUrl()) -        self.myPostProcess(pyfile.name) -         +        if not self.account: +            self.prepare() +            self.download(self.getFileUrl()) +            self.myPostProcess() +        else: +            self.download(self.getFileUrl()) +            self.myPostProcess()      def prepare(self):          '''You have to wait some seconds. Otherwise you will get a 40Byte HTML Page instead of the file you expected''' @@ -80,7 +83,7 @@ class FilesMailRu(Hoster):          file_name = re.search(self.url_pattern, self.html).group(0).split(', event)">')[1].split('</a>')[0]          return file_name -    def myPostProcess(self,filename): +    def myPostProcess(self):          # searches the file for HTMl-Code. Sometimes the Redirect           # doesn't work (maybe a curl Problem) and you get only a small           # HTML file and the Download is marked as "finished" @@ -93,5 +96,5 @@ class FilesMailRu(Hoster):          # (Loading 100MB in to ram is not an option)          check = self.checkDownload({"html": "<meta name="}, read_size=50000)          if check == "html": -            self.log.info(_("There was HTML Code in the Downloaded File("+ filename +")...redirect error? The Download will be restarted.")) +            self.log.info(_("There was HTML Code in the Downloaded File("+ pyfile.name +")...redirect error? The Download will be restarted."))              self.retry() diff --git a/module/plugins/hoster/NetloadIn.py b/module/plugins/hoster/NetloadIn.py index b99694774..afc679a9d 100644 --- a/module/plugins/hoster/NetloadIn.py +++ b/module/plugins/hoster/NetloadIn.py @@ -16,7 +16,7 @@ def getInfo(urls):      apiurl = "http://api.netload.in/info.php?auth=Zf9SnQh9WiReEsb18akjvQGqT0I830e8&bz=1&md5=1&file_id=" -    id_regex = re.compile("http://.*netload\.in/(?:datei(.*?)(?:\.htm|/)|index.php?id=10&file_id=)") +    id_regex = re.compile(NetloadIn.__pattern__)      urls_per_query = 80      for chunk in chunks(urls, urls_per_query): @@ -92,7 +92,7 @@ class NetloadIn(Hoster):      def download_api_data(self, n=0):          url = self.url -        id_regex = re.compile("http://.*netload\.in/(?:datei(.*?)(?:\.htm|/)|index.php?id=10&file_id=)") +        id_regex = re.compile(self.__pattern__)          match = id_regex.search(url)          if not match: @@ -108,7 +108,7 @@ class NetloadIn(Hoster):          self.log.debug("Netload: APIDATA: "+src)          self.api_data = {} -        if src and src != "unknown file_data": +        if src and src not in ("unknown file_data", "unknown_server_data"):              lines = src.split(";")              self.api_data["exists"] = True              self.api_data["fileid"] = lines[0] diff --git a/module/web/templates/default/settings.html b/module/web/templates/default/settings.html index a62aab99f..df6616e42 100644 --- a/module/web/templates/default/settings.html +++ b/module/web/templates/default/settings.html @@ -236,7 +236,7 @@  <label for="account_password">{{_("Password")}}  <span class="small">The password for this account.</span>  </label> -<input id="account_password" name="account_password" type="text" size="20" /> +<input id="account_password" name="account_password" type="password" size="20" />  <label for="account_type">{{_("Type")}}  <span class="small">{{_("Choose the hoster for your account.")}}</span> | 
