drivename = itsm.getParameter('drivename') # define the drive name here. the datatype should be string.
minimumFreespace = itsm.getParameter('minimumFreespace') # define the minimum free space you want to check here. the datatype should be integer.
unitMeasurement = itsm.getParameter('unitMeasurement') # define the unit here like "KB" or "MB" or "GB" that you want to check. the datatype should be string.

import sys

def alert(arg): 
   	sys.stderr.write("%d%d%d" % (arg, arg, arg)) 

def convert_bytes(size, unit=None):
    if unit == "KB":
        return (round(size / 1024, 3))
    elif unit == "MB":
        return (round(size / (1024 * 1024), 3))
    elif unit == "GB":
        return (round(size / (1024 * 1024 * 1024), 3))

def checkspace():
    from subprocess import Popen,PIPE
    import ctypes
    class disable_file_system_redirection:
        _disable = ctypes.windll.kernel32.Wow64DisableWow64FsRedirection
        _revert = ctypes.windll.kernel32.Wow64RevertWow64FsRedirection
        def __enter__(self):
            self.old_value = ctypes.c_long()
            self.success = self._disable(ctypes.byref(self.old_value))
        def __exit__(self, type, value, traceback):
            if self.success:
                self._revert(self.old_value)
    with disable_file_system_redirection():
        obj = Popen("wmic logicaldisk get size,freespace,caption",stdout=PIPE,stderr=PIPE)
        out,err=obj.communicate()
        check=False
        if out:
            result = out.strip().splitlines()[1:]
            for i in result:
                if i:
                    split = i.split()
                    disk = split[0]
                    for e in drivename.split():
                        if e.upper() in disk:
                            freespace = int(split[1])
                            conversion = convert_bytes(freespace,unit=unitMeasurement.upper())
                            if minimumFreespace <= conversion:
                                print("minimum free space available for drive %s"%(e.upper()))
                                break
                            else:
                                print("minimum free space in drive %s is lower than %s%s.please delete something to freeup space."%(e.upper(),minimumFreespace,unitMeasurement.upper()))
                                check=True
                                break
            else:
                if check:
                    alert(1)
                else:
                    alert(0)
        else:
            print(err)
            alert(0)
checkspace()