class KVPGetCapabilitiesDecoder(kvp.Decoder): object_class = GetCapabilitiesRequest service = kvp.Parameter('service') update_sequence = kvp.Parameter('updatesequence', num="?") sections = kvp.Parameter(type=typelist(lower, ","), num="?", default_factory=list) accept_versions = kvp.Parameter('acceptversions', type=typelist(str, ","), num="?", default_factory=list) accept_formats = kvp.Parameter('acceptlanguages', type=typelist(str, ","), num="?", default_factory=list) accept_languages = kvp.Parameter('acceptformats', type=typelist(str, ","), num="?", default_factory=list)
class KVPGetMapDecoder(kvp.Decoder): object_class = GetMapRequest version = kvp.Parameter(type=Version.from_str, num=1) layers = kvp.Parameter(type=typelist(str, ','), num=1) styles = kvp.Parameter(type=parse_styles, num=1) width = kvp.Parameter(type=int, num=1) height = kvp.Parameter(type=int, num=1) format = kvp.Parameter(num=1) background_color = kvp.Parameter('bgcolor', num='?') transparent = kvp.Parameter(num='?', type=parse_booloean) bbox = kvp.Parameter('bbox', type=parse_bbox, num=1) crs = kvp.Parameter(num=1) time = kvp.Parameter(type=partial(parse_dimension, value_parser=parse_temporal), num='?') # noqa elevation = kvp.Parameter(type=partial(parse_dimension, value_parser=float, resolution_parser=float), num='?') # noqa dimensions = kvp.MultiParameter(lambda name: name.startswith('dim_'), num='*') # noqa def map_params(self, params): params['bounding_box'] = BoundingBox(params.pop('crs'), params.pop('bbox')) params['dimensions'] = dict( (name[4:], parse_dimension(values[0])) for name, values in params.pop('dimensions') or [] ) return params
class KVPGetCoverageDecoder(GetCoverageBaseDecoder, kvp.Decoder): version = kvp.Parameter(type=Version.from_str, num=1) coverage_id = kvp.Parameter("coverageid", num=1) subsets = kvp.Parameter("subset", type=parse_subset_kvp, num="*") scalefactor = kvp.Parameter("scalefactor", type=float, num="?") scaleaxes = kvp.Parameter("scaleaxes", type=typelist(parse_scaleaxis_kvp, ","), default_factory=list, num="?") scalesize = kvp.Parameter("scalesize", type=typelist(parse_scalesize_kvp, ","), default_factory=list, num="?") scaleextent = kvp.Parameter("scaleextent", type=typelist(parse_scaleextent_kvp, ","), default_factory=list, num="?") rangesubset = kvp.Parameter("rangesubset", type=parse_range_subset_kvp, num="?") format = kvp.Parameter("format", num="?") subsettingcrs = kvp.Parameter("subsettingcrs", num="?") outputcrs = kvp.Parameter("outputcrs", num="?") mediatype = kvp.Parameter("mediatype", num="?") interpolation = kvp.Parameter("interpolation", num="?") geotiff_compression = kvp.Parameter("geotiff:compression", num="?", type=compression_enum) geotiff_jpeg_quality = kvp.Parameter("geotiff:jpeg_quality", num="?", type=int) geotiff_predictor = kvp.Parameter("geotiff:predictor", num="?", type=predictor_enum) geotiff_interleave = kvp.Parameter("geotiff:interleave", num="?", type=interleave_enum) geotiff_tiling = kvp.Parameter("geotiff:tiling", num="?", type=boolean) geotiff_tileheight = kvp.Parameter("geotiff:tileheight", num="?", type=parse_multiple_16) geotiff_tilewidth = kvp.Parameter("geotiff:tilewidth", num="?", type=parse_multiple_16)
class KVPGetFeatureInfoDecoder(KVPGetMapDecoder): object_class = GetFeatureInfoRequest query_layers = kvp.Parameter(type=typelist(str, ','), num=1) info_format = kvp.Parameter(num=1) feature_count = kvp.Parameter(type=int, num='?') i = kvp.Parameter(type=int, num=1) j = kvp.Parameter(type=int, num=1)
class KVPBaseRequestDecoder(kvp.Decoder): object_class = BaseRequest service = kvp.Parameter("service", type=upper, num="?") version = kvp.Parameter("version", type=Version.from_str, num="?") request = kvp.Parameter("request") accept_versions = kvp.Parameter('acceptversions', type=typelist(Version.from_str, ","), num="?", default_factory=list)
class KVPGetMapDecoder(kvp.Decoder): layers = kvp.Parameter(type=typelist(str, ","), num=1) styles = kvp.Parameter(num="?") width = kvp.Parameter(num=1) height = kvp.Parameter(num=1) format = kvp.Parameter(num=1) bgcolor = kvp.Parameter(num='?') transparent = kvp.Parameter(num='?', default=False, type=parse_booloean) bbox = kvp.Parameter('bbox', type=parse_bbox, num=1) crs = kvp.Parameter(num=1)
class KVPDescribeProcessDecoder(kvp.Decoder): object_class = DescribeProcessRequest version = kvp.Parameter(type=Version.from_str, num=1) process_ids = kvp.Parameter("jobid", type=typelist(str, ","), num=1)
class KVPDismissDecoder(kvp.Decoder): object_class = DismissRequest version = kvp.Parameter(type=Version.from_str, num=1) job_id = kvp.Parameter("jobid", type=typelist(str, ","), num=1)
class KVPDescribeCoverageDecoder(kvp.Decoder): object_class = types.DescribeCoverageRequest version = kvp.Parameter(type=Version.from_str, num=1) coverage_ids = kvp.Parameter("coverageid", type=typelist(str, ","), num=1)