diff options
| -rw-r--r-- | module/file_list.py | 28 | ||||
| -rwxr-xr-x | pyLoadCore.py | 61 | 
2 files changed, 70 insertions, 19 deletions
| diff --git a/module/file_list.py b/module/file_list.py index f3bfc0b8a..1bcfb8580 100644 --- a/module/file_list.py +++ b/module/file_list.py @@ -151,6 +151,9 @@ class File_List(object):                  returns a free id              """              ids = [] +            for pypack in (packager.file_list.data["packages"] + packager.file_list.data["queue"]): +                for pyf in pypack.links: +                    ids.append(pyf.id)              for pyfile in collector.file_list.data["collector"]:                  ids.append(pyfile.id)              id = 1 @@ -235,6 +238,20 @@ class File_List(object):                      return ("queue", n, pypack)              raise NoSuchElementException() +        def _getFileFromID(packager, id): +            """ +                returns PyLoadFile instance and position with given id +            """ +            for n, pypack in enumerate(packager.file_list.data["packages"]): +                for pyfile in pypack.files: +                    if pyfile.id == id: +                        return ("packages", n, pyfile, pypack, pid) +            for n, pypack in enumerate(packager.file_list.data["queue"]): +                for pyfile in pypack.files: +                    if pyfile.id == id: +                        return ("queue", n, pyfile, pypack, pid) +            raise NoSuchElementException() +                  def addNewPackage(packager, package_name=None):              pypack = PyLoadPackage()              pypack.id = packager._getFreeID() @@ -251,6 +268,17 @@ class File_List(object):              finally:                  packager.file_list.lock.release() +        def removeFile(packager, id): +            """ +                removes PyLoadFile instance with the given id from package +            """ +            packager.file_list.lock.acquire() +            try: +                key, n, pyfile, pypack, pid = self._getFileFromID() +                del pypack.files[n] +            finally: +                packager.file_list.lock.release() +                  def pushPackage2Queue(packager, id):              packager.file_list.lock.acquire()              try: diff --git a/pyLoadCore.py b/pyLoadCore.py index df4e472c6..9a9cd8306 100755 --- a/pyLoadCore.py +++ b/pyLoadCore.py @@ -180,11 +180,12 @@ class Core(object):              self.server.register_function(self.status_downloads)              self.server.register_function(self.status_server)              self.server.register_function(self.kill) -            self.server.register_function(self.del_urls) +            self.server.register_function(self.del_links) +            self.server.register_function(self.del_packages)              self.server.register_function(self.add_urls) -            self.server.register_function(self.get_urls) -            self.server.register_function(self.move_urls_up) -            self.server.register_function(self.move_urls_down) +            self.server.register_function(self.get_queue) +            #self.server.register_function(self.move_urls_up) +            #self.server.register_function(self.move_urls_down)              self.server.register_function(self.is_time_download)              self.server.register_function(self.is_time_reconnect)              self.server.register_function(self.get_conf_val) @@ -326,27 +327,49 @@ class Core(object):              self.file_list.collector.addLink(link)          self.file_list.save() -    def del_urls(self, ids): +    def del_links(self, ids):          for id in ids: -            self.file_list.remove_id(id) +            try: +                self.file_list.collector.removeFile(id) +            except: +                self.file_list.packages.removeFile(id) +        self.file_list.save() +     +    def del_packages(self, ids): +        for id in ids: +            self.file_list.packages.removePackage(id)          self.file_list.save()      def kill(self):          self.do_kill = True          return True -    def get_urls(self): -        return self.file_list.data - -    def move_urls_up(self, ids): -        for id in ids: -            self.file_list.move(id) -        self.file_list.save() - -    def move_urls_down(self, ids): -        for id in ids: -            self.file_list.move(id, 1) -        self.file_list.save() +    def get_queue(self): +        data = [] +        for q in self.file_list.data["queue"]: +            ds = { +                "id": q.data.id, +                "name": q.data.package_name, +                "folder": q.data.folder, +                "files": [] +            } +            for f in q.links: +                ds["files"].append({ +                    "name": f.status.name, +                    "status": f.status.type, +                    "url": f.url +                }) +            data.append(ds) + +    #def move_urls_up(self, ids): +    #    for id in ids: +    #        self.file_list.move(id) +    #    self.file_list.save() + +    #def move_urls_down(self, ids): +    #    for id in ids: +    #        self.file_list.move(id, 1) +    #    self.file_list.save()      def read_url_list(self, url_list):          """read links from txt""" @@ -355,7 +378,7 @@ class Core(object):          links = txt.readlines()          for link in links:              if link != "\n": -                self.file_list.append(link) +                self.file_list.collector.addLink(link)                  new_links += 1          txt.close() | 
