def to_api_repr(self): """Construct JSON API representation for the parameter. :rtype: dict :returns: JSON mapping """ values = self.values if self.array_type == 'RECORD' or self.array_type == 'STRUCT': reprs = [value.to_api_repr() for value in values] a_type = reprs[0]['parameterType'] a_values = [repr_['parameterValue'] for repr_ in reprs] else: a_type = {'type': self.array_type} converter = _SCALAR_VALUE_TO_JSON_PARAM.get(self.array_type) if converter is not None: values = [converter(value) for value in values] a_values = [{'value': value} for value in values] resource = { 'parameterType': { 'type': 'ARRAY', 'arrayType': a_type, }, 'parameterValue': { 'arrayValues': a_values, }, } if self.name is not None: resource['name'] = self.name return resource
def to_api_repr(self): """Construct JSON API representation for the parameter. Returns: Dict: JSON mapping """ s_types = {} values = {} for name, value in self.struct_values.items(): type_ = self.struct_types[name] if type_ in ("STRUCT", "ARRAY"): repr_ = value.to_api_repr() s_types[name] = {"name": name, "type": repr_["parameterType"]} values[name] = repr_["parameterValue"] else: s_types[name] = {"name": name, "type": {"type": type_}} converter = _SCALAR_VALUE_TO_JSON_PARAM.get(type_) if converter is not None: value = converter(value) values[name] = {"value": value} resource = { "parameterType": { "type": "STRUCT", "structTypes": [s_types[key] for key in self.struct_types], }, "parameterValue": {"structValues": values}, } if self.name is not None: resource["name"] = self.name return resource
def to_api_repr(self): """Construct JSON API representation for the parameter. :rtype: dict :returns: JSON mapping """ s_types = {} values = {} for name, value in self.struct_values.items(): type_ = self.struct_types[name] if type_ in ('STRUCT', 'ARRAY'): repr_ = value.to_api_repr() s_types[name] = {'name': name, 'type': repr_['parameterType']} values[name] = repr_['parameterValue'] else: s_types[name] = {'name': name, 'type': {'type': type_}} converter = _SCALAR_VALUE_TO_JSON_PARAM.get(type_) if converter is not None: value = converter(value) values[name] = {'value': value} resource = { 'parameterType': { 'type': 'STRUCT', 'structTypes': [s_types[key] for key in self.struct_types], }, 'parameterValue': { 'structValues': values, }, } if self.name is not None: resource['name'] = self.name return resource
def to_api_repr(self): """Construct JSON API representation for the parameter. Returns: Dict: JSON mapping """ values = self.values if self.array_type == "RECORD" or self.array_type == "STRUCT": reprs = [value.to_api_repr() for value in values] a_type = reprs[0]["parameterType"] a_values = [repr_["parameterValue"] for repr_ in reprs] else: a_type = {"type": self.array_type} converter = _SCALAR_VALUE_TO_JSON_PARAM.get(self.array_type) if converter is not None: values = [converter(value) for value in values] a_values = [{"value": value} for value in values] resource = { "parameterType": { "type": "ARRAY", "arrayType": a_type }, "parameterValue": { "arrayValues": a_values }, } if self.name is not None: resource["name"] = self.name return resource
def to_api_repr(self): """Construct JSON API representation for the parameter. :rtype: dict :returns: JSON mapping """ s_types = {} values = {} for name, value in self.struct_values.items(): type_ = self.struct_types[name] if type_ in ('STRUCT', 'ARRAY'): repr_ = value.to_api_repr() s_types[name] = {'name': name, 'type': repr_['parameterType']} values[name] = repr_['parameterValue'] else: s_types[name] = {'name': name, 'type': {'type': type_}} converter = _SCALAR_VALUE_TO_JSON_PARAM.get(type_) if converter is not None: value = converter(value) values[name] = {'value': value} resource = { 'parameterType': { 'type': 'STRUCT', 'structTypes': [s_types[key] for key in self.struct_types], }, 'parameterValue': { 'structValues': values, }, } if self.name is not None: resource['name'] = self.name return resource
def to_api_repr(self): """Construct JSON API representation for the parameter. :rtype: dict :returns: JSON mapping """ values = self.values if self.array_type == 'RECORD' or self.array_type == 'STRUCT': reprs = [value.to_api_repr() for value in values] a_type = reprs[0]['parameterType'] a_values = [repr_['parameterValue'] for repr_ in reprs] else: a_type = {'type': self.array_type} converter = _SCALAR_VALUE_TO_JSON_PARAM.get(self.array_type) if converter is not None: values = [converter(value) for value in values] a_values = [{'value': value} for value in values] resource = { 'parameterType': { 'type': 'ARRAY', 'arrayType': a_type, }, 'parameterValue': { 'arrayValues': a_values, }, } if self.name is not None: resource['name'] = self.name return resource
def to_api_repr(self): """Construct JSON API representation for the parameter. :rtype: dict :returns: JSON mapping """ s_types = {} values = {} for name, value in self.struct_values.items(): type_ = self.struct_types[name] if type_ in ("STRUCT", "ARRAY"): repr_ = value.to_api_repr() s_types[name] = {"name": name, "type": repr_["parameterType"]} values[name] = repr_["parameterValue"] else: s_types[name] = {"name": name, "type": {"type": type_}} converter = _SCALAR_VALUE_TO_JSON_PARAM.get(type_) if converter is not None: value = converter(value) values[name] = {"value": value} resource = { "parameterType": { "type": "STRUCT", "structTypes": [s_types[key] for key in self.struct_types], }, "parameterValue": {"structValues": values}, } if self.name is not None: resource["name"] = self.name return resource
def to_api_repr(self): """Construct JSON API representation for the parameter. Returns: Dict: JSON mapping """ value = self.value converter = _SCALAR_VALUE_TO_JSON_PARAM.get(self.type_) if converter is not None: value = converter(value) resource = { "parameterType": {"type": self.type_}, "parameterValue": {"value": value}, } if self.name is not None: resource["name"] = self.name return resource
def to_api_repr(self) -> dict: """Construct JSON API representation for the parameter. Returns: Dict: JSON mapping """ values = self.values if self.array_type in {"RECORD", "STRUCT"} or isinstance( self.array_type, StructQueryParameterType): reprs = [value.to_api_repr() for value in values] a_values = [repr_["parameterValue"] for repr_ in reprs] if reprs: a_type = reprs[0]["parameterType"] else: # This assertion always evaluates to True because the # constructor disallows STRUCT/RECORD type defined as a # string with empty values. assert isinstance(self.array_type, StructQueryParameterType) a_type = self.array_type.to_api_repr() else: # Scalar array item type. if isinstance(self.array_type, str): a_type = {"type": self.array_type} else: a_type = self.array_type.to_api_repr() converter = _SCALAR_VALUE_TO_JSON_PARAM.get(a_type["type"]) if converter is not None: values = [converter(value) for value in values] a_values = [{"value": value} for value in values] resource = { "parameterType": { "type": "ARRAY", "arrayType": a_type }, "parameterValue": { "arrayValues": a_values }, } if self.name is not None: resource["name"] = self.name return resource
def to_api_repr(self): """Construct JSON API representation for the parameter. :rtype: dict :returns: JSON mapping """ value = self.value converter = _SCALAR_VALUE_TO_JSON_PARAM.get(self.type_) if converter is not None: value = converter(value) resource = { "parameterType": {"type": self.type_}, "parameterValue": {"value": value}, } if self.name is not None: resource["name"] = self.name return resource
def to_api_repr(self): """Construct JSON API representation for the parameter. :rtype: dict :returns: JSON mapping """ value = self.value converter = _SCALAR_VALUE_TO_JSON_PARAM.get(self.type_) if converter is not None: value = converter(value) resource = { 'parameterType': { 'type': self.type_, }, 'parameterValue': { 'value': value, }, } if self.name is not None: resource['name'] = self.name return resource
def to_api_repr(self): """Construct JSON API representation for the parameter. :rtype: dict :returns: JSON mapping """ value = self.value converter = _SCALAR_VALUE_TO_JSON_PARAM.get(self.type_) if converter is not None: value = converter(value) resource = { 'parameterType': { 'type': self.type_, }, 'parameterValue': { 'value': value, }, } if self.name is not None: resource['name'] = self.name return resource
def to_api_repr(self): """Construct JSON API representation for the parameter. :rtype: dict :returns: JSON mapping """ values = self.values if self.array_type == "RECORD" or self.array_type == "STRUCT": reprs = [value.to_api_repr() for value in values] a_type = reprs[0]["parameterType"] a_values = [repr_["parameterValue"] for repr_ in reprs] else: a_type = {"type": self.array_type} converter = _SCALAR_VALUE_TO_JSON_PARAM.get(self.array_type) if converter is not None: values = [converter(value) for value in values] a_values = [{"value": value} for value in values] resource = { "parameterType": {"type": "ARRAY", "arrayType": a_type}, "parameterValue": {"arrayValues": a_values}, } if self.name is not None: resource["name"] = self.name return resource