diff options
author | spoob <spoob@gmx.de> | 2010-03-30 21:33:17 +0200 |
---|---|---|
committer | spoob <spoob@gmx.de> | 2010-03-30 21:33:17 +0200 |
commit | a0e87b841327426aba3d511f17a28d83aa177d7e (patch) | |
tree | 12de6bd23eae194d729562a2bb506f870f8a3fda /pyLoadCore.py | |
parent | closed #69 (diff) | |
download | pyload-a0e87b841327426aba3d511f17a28d83aa177d7e.tar.xz |
freespace for windows
Diffstat (limited to 'pyLoadCore.py')
-rwxr-xr-x | pyLoadCore.py | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/pyLoadCore.py b/pyLoadCore.py index 206363f57..e2682c990 100755 --- a/pyLoadCore.py +++ b/pyLoadCore.py @@ -32,6 +32,7 @@ import logging import logging.handlers from operator import attrgetter from os import chdir +from os import name as platform from os import execv from os import makedirs from os import remove @@ -260,10 +261,14 @@ class Core(object): self.file_list.continueAborted() except: pass - - self.logger.info(_("Free space: %sMB") % self.freeSpace()) - self.thread_list.pause = False + freeSpace = self.freeSpace() + if freeSpace > 10000: + self.logger.info(_("Free space: %sGB") % (freeSpace / 1000)) + else: + self.logger.info(_("Free space: %sMB") % self.freeSpace()) + + self.thread_list.pause = False while True: sleep(2) @@ -480,8 +485,14 @@ class Core(object): return join(self.path, * args) def freeSpace(self): - s = statvfs(self.make_path(self.config['general']['download_folder'])) - return s.f_bsize * s.f_bavail / 1024 / 1024 #megabyte + folder = self.make_path(self.config['general']['download_folder']) + if platform == 'nt': + free_bytes = ctypes.c_ulonglong(0) + __import__("ctypes").windll.kernel32.GetDiskFreeSpaceExW(ctypes.c_wchar_p(folder), None, None, ctypes.pointer(free_bytes)) + return free_bytes.value / 1024 / 1024 #megabyte + else: + s = statvfs(folder) + return s.f_bsize * s.f_bavail / 1024 / 1024 #megabyte #################################### ########## XMLRPC Methods ########## |