def get_size(path, unit, log_level=INFO): """Disk info stats: total => size of the disk used => space used free => free space In case of error raises a DiskutilError Exception """ try: # let's try to get the disk size using os module disk_info = DiskSize()._posix_size(path) except AttributeError: try: # os module failed. let's try to get the size using # ctypes.windll... disk_info = DiskSize()._windows_size(path) except AttributeError: # No luck! This is not a posix nor window platform # raise an exception raise DiskutilsError('Unsupported platform') disk_info._to(unit) lvl = numeric_log_level(log_level) log.log(lvl, msg="%s" % disk_info) return disk_info