コード例 #1
0
ファイル: downloader.py プロジェクト: dankamongmen/miro
def cleanup_incomplete_downloads():
    download_dir = os.path.join(app.config.get(prefs.MOVIES_DIRECTORY),
                                'Incomplete Downloads')
    if not fileutil.exists(download_dir):
        return

    files_in_use = set()
    for downloader in RemoteDownloader.make_view():
        if downloader.get_state() in ('downloading', 'paused',
                                     'offline', 'uploading', 'finished',
                                     'uploading-paused'):
            filename = downloader.get_filename()
            if filename:
                if not fileutil.isabs(filename):
                    filename = os.path.join(download_dir, filename)
                files_in_use.add(filename)

    try:
        entries = fileutil.listdir(download_dir)
    except OSError:
        entries = []

    for f in entries:
        f = os.path.join(download_dir, f)
        if f not in files_in_use:
            try:
                if fileutil.isfile(f):
                    fileutil.remove(f)
                elif fileutil.isdir(f):
                    fileutil.rmtree(f)
            except OSError:
                # FIXME - maybe a permissions error?
                pass
コード例 #2
0
def cleanup_incomplete_downloads():
    download_dir = os.path.join(app.config.get(prefs.MOVIES_DIRECTORY),
                                'Incomplete Downloads')
    if not fileutil.exists(download_dir):
        return

    files_in_use = set()
    for downloader in RemoteDownloader.make_view():
        if downloader.get_state() in ('downloading', 'paused',
                                     'offline', 'uploading', 'finished',
                                     'uploading-paused'):
            filename = downloader.get_filename()
            if filename:
                if not fileutil.isabs(filename):
                    filename = os.path.join(download_dir, filename)
                files_in_use.add(filename)

    try:
        entries = fileutil.listdir(download_dir)
    except OSError:
        entries = []

    for f in entries:
        f = os.path.join(download_dir, f)
        if f not in files_in_use:
            try:
                if fileutil.isfile(f):
                    fileutil.remove(f)
                elif fileutil.isdir(f):
                    fileutil.rmtree(f)
            except OSError:
                # FIXME - maybe a permissions error?
                pass
コード例 #3
0
ファイル: download.py プロジェクト: nxmirrors/miro
 def stop(self, delete):
     self.state = "stopped"
     self._shutdown_torrent()
     self.update_client()
     if delete:
         try:
             if fileutil.isdir(self.filename):
                 fileutil.rmtree(self.filename)
             else:
                 fileutil.remove(self.filename)
         except OSError:
             pass
コード例 #4
0
ファイル: download.py プロジェクト: nxmirrors/miro
 def stop(self, delete):
     """Stops the download and removes the partially downloaded
     file.
     """
     if self.state == 'finished':
         if delete:
             try:
                 if fileutil.isdir(self.filename):
                     fileutil.rmtree(self.filename)
                 else:
                     fileutil.remove(self.filename)
             except OSError:
                 pass
     else:
         # Cancel the request, don't keep around partially
         # downloaded data
         self.cancel_request(remove_file=True)
     self.currentSize = 0
     self.state = "stopped"
     self.update_client()