Пример #1
0
        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)
Пример #2
0
        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)