diff options
| author | 2014-11-12 22:14:42 +0100 | |
|---|---|---|
| committer | 2014-11-12 22:14:42 +0100 | |
| commit | f724290003013c6167918c220bf76a1c5cd58543 (patch) | |
| tree | c6f7bf972786d4c3d4abcd7c58733d44537587ed | |
| parent | [PluginManager] Fix pattern creation in parse routine (diff) | |
| download | pyload-f724290003013c6167918c220bf76a1c5cd58543.tar.xz | |
[Plugin] Fix download routine
| -rw-r--r-- | module/plugins/Plugin.py | 39 | 
1 files changed, 22 insertions, 17 deletions
| diff --git a/module/plugins/Plugin.py b/module/plugins/Plugin.py index f4b6c85cd..7bd29c9d6 100644 --- a/module/plugins/Plugin.py +++ b/module/plugins/Plugin.py @@ -514,11 +514,11 @@ class Plugin(Base):              from inspect import currentframe              frame = currentframe() -            if not exists(join("tmp", self.__name__)): -                makedirs(join("tmp", self.__name__)) -              framefile = save_join("tmp", self.__name__, "%s_line%s.dump.html" % (frame.f_back.f_code.co_name, frame.f_back.f_lineno))              try: +                if not exists(join("tmp", self.__name__)): +                    makedirs(join("tmp", self.__name__)) +                  with open(framefile, "wb") as f:                      del frame  #: delete the frame or it wont be cleaned                      f.write(fs_encode(res)) @@ -583,16 +583,16 @@ class Plugin(Base):          location = save_join(download_folder, self.pyfile.package().folder)          if not exists(location): -            makedirs(location, int(self.core.config['permission']['folder'], 8)) +            try: +                makedirs(location, int(self.core.config['permission']['folder'], 8)) -            if self.core.config['permission']['change_dl'] and os.name != "nt": -                try: +                if self.core.config['permission']['change_dl'] and os.name != "nt":                      uid = getpwnam(self.config['permission']['user'])[2]                      gid = getgrnam(self.config['permission']['group'])[2] -                      chown(location, uid, gid) -                except Exception, e: -                    self.logWarning(_("Setting User and Group failed: ") + str(e)) + +            except Exception, e: +                self.fail(e)          # convert back to unicode          location = fs_decode(location) @@ -606,28 +606,33 @@ class Plugin(Base):              newname = self.req.httpDownload(url, filename, get=get, post=post, ref=ref, cookies=cookies,                                              chunks=self.getChunkCount(), resume=self.resumeDownload,                                              progressNotify=self.pyfile.setProgress, disposition=disposition) -            newname = urlparse(newname).path.split("/")[-1]          finally:              self.pyfile.size = self.req.size -        if disposition and newname and newname != name: #triple check, just to be sure -            self.logInfo(_("%(name)s saved as %(newname)s") % {"name": name, "newname": newname}) -            self.pyfile.name = newname -            filename = join(location, newname) +        if newname: +            newname = urlparse(newname).path.split("/")[-1] + +            if disposition and newname != name: +                self.logInfo(_("%(name)s saved as %(newname)s") % {"name": name, "newname": newname}) +                self.pyfile.name = newname +                filename = join(location, newname)          fs_filename = fs_encode(filename)          if self.core.config['permission']['change_file']: -            chmod(fs_filename, int(self.core.config['permission']['file'], 8)) +            try: +                chmod(fs_filename, int(self.core.config['permission']['file'], 8)) +            except Exception, e: +                self.logWarning(_("Setting file mode failed"), e)          if self.core.config['permission']['change_dl'] and os.name != "nt":              try:                  uid = getpwnam(self.config['permission']['user'])[2]                  gid = getgrnam(self.config['permission']['group'])[2] -                  chown(fs_filename, uid, gid) +              except Exception, e: -                self.logWarning(_("Setting User and Group failed: ") + str(e)) +                self.logWarning(_("Setting User and Group failed"), e)          self.lastDownload = filename          return self.lastDownload | 
