

@classmethod
def validate(cls, mapper_spec):
    'Validates mapper specification.\n\n    Args:\n      mapper_spec: an instance of model.MapperSpec to validate.\n    '
    if (mapper_spec.output_writer_class() != cls):
        raise errors.BadWriterParamsError('Output writer class mismatch')
    output_sharding = cls._get_output_sharding(mapper_spec=mapper_spec)
    if ((output_sharding != cls.OUTPUT_SHARDING_NONE) and (output_sharding != cls.OUTPUT_SHARDING_INPUT_SHARDS)):
        raise errors.BadWriterParamsError(('Invalid output_sharding value: %s' % output_sharding))
    params = _get_params(mapper_spec)
    filesystem = cls._get_filesystem(mapper_spec)
    if (filesystem not in files.FILESYSTEMS):
        raise errors.BadWriterParamsError(("Filesystem '%s' is not supported. Should be one of %s" % (filesystem, files.FILESYSTEMS)))
    if (filesystem == files.GS_FILESYSTEM):
        if (not (cls.GS_BUCKET_NAME_PARAM in params)):
            raise errors.BadWriterParamsError(('%s is required for Google store filesystem' % cls.GS_BUCKET_NAME_PARAM))
    elif (params.get(cls.GS_BUCKET_NAME_PARAM) is not None):
        raise errors.BadWriterParamsError(('%s can only be provided for Google store filesystem' % cls.GS_BUCKET_NAME_PARAM))

dataset/ETHPy150Open AppScale/appscale/AppServer/google/appengine/ext/mapreduce/output_writers.py FileOutputWriterBase.validate/original