From 6465c8eedeb9cf9242fd3d3022468f4a57e13bd4 Mon Sep 17 00:00:00 2001 From: Marcos Pinto Date: Sun, 21 Sep 2008 19:27:26 +0000 Subject: [PATCH] add free space of default save_path --- deluge/common.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/deluge/common.py b/deluge/common.py index 2ca04a782..21d0972f7 100644 --- a/deluge/common.py +++ b/deluge/common.py @@ -384,3 +384,23 @@ def get_path_size(path): filename = os.path.join(p, file) dir_size += os.path.getsize(filename) return dir_size + +def free_space() + """returns free space in each partition""" + """example: {PARTITION: [TOTAL, AVAIL]}""" + space = {} + if windows_check(): + import win32api + drive = get_default_download_dir().split(":")[0] + free = win32api.GetDiskFreeSpaceEx(drive)[0] + total = win32api.GetDiskFreeSpaceEx(drive)[1] + space[drive] = [total, free] + else: + from subprocess import Popen, PIPE + import re + whitespace_spliter = re.compile("\s+") + output = Popen(["df", "-hP", "--exclude-type=iso9660", "--exclude-type=udf", \ + "--exclude-type=tmpfs", get_default_download_dir], stdout=PIPE).communicate()[0] + modified = whitespace_spliter.split(output.split("\n")[1]) + space[modified[0]] = [modified[1], modified[3]] + return space