def wrapper(*args, **kwds): if ((runtime < version and not is_max_version) or (is_max_version and runtime > version)): if param is None: raise GDALVersionError( "GDAL version must be {0} {1}{2}".format( inequality, str(version), reason)) # normalize args and kwds to dict argspec = getargspec(f) full_kwds = kwds.copy() if argspec.args: full_kwds.update(dict(zip(argspec.args[:len(args)], args))) if argspec.defaults: defaults = dict( zip(reversed(argspec.args), reversed(argspec.defaults))) else: defaults = {} if param in full_kwds: if values is None: if param not in defaults or (full_kwds[param] != defaults[param]): raise GDALVersionError( 'usage of parameter "{0}" requires ' 'GDAL {1} {2}{3}'.format( param, inequality, version, reason)) elif full_kwds[param] in values: raise GDALVersionError('parameter "{0}={1}" requires ' 'GDAL {2} {3}{4}'.format( param, full_kwds[param], inequality, version, reason)) return f(*args, **kwds)
def wrapper(*args, **kwds): if ((runtime < version and not is_max_version) or (is_max_version and runtime > version)): if param is None: raise GDALVersionError( "GDAL version must be {0} {1}{2}".format( inequality, str(version), reason)) # normalize args and kwds to dict argspec = getargspec(f) full_kwds = kwds.copy() if argspec.args: full_kwds.update(dict(zip(argspec.args[:len(args)], args))) if argspec.defaults: defaults = dict(zip( reversed(argspec.args), reversed(argspec.defaults))) else: defaults = {} if param in full_kwds: if values is None: if param not in defaults or ( full_kwds[param] != defaults[param]): raise GDALVersionError( 'usage of parameter "{0}" requires ' 'GDAL {1} {2}{3}'.format(param, inequality, version, reason)) elif full_kwds[param] in values: raise GDALVersionError( 'parameter "{0}={1}" requires ' 'GDAL {2} {3}{4}'.format(param, full_kwds[param], inequality, version, reason)) return f(*args, **kwds)