MCPcopy Index your code
hub / github.com/googleapis/google-api-python-client / method

Function method

googleapiclient/discovery.py:1098–1275  ·  view source on GitHub ↗
(self, **kwargs)

Source from the content-addressed store, hash-verified

1096 parameters = ResourceMethodParameters(methodDesc)
1097
1098 def method(self, **kwargs):
1099 # Don't bother with doc string, it will be over-written by createMethod.
1100
1101 # Validate credentials for the configured universe.
1102 self._validate_credentials()
1103
1104 for name in kwargs:
1105 if name not in parameters.argmap:
1106 raise TypeError("Got an unexpected keyword argument {}".format(name))
1107
1108 # Remove args that have a value of None.
1109 keys = list(kwargs.keys())
1110 for name in keys:
1111 if kwargs[name] is None:
1112 del kwargs[name]
1113
1114 for name in parameters.required_params:
1115 if name not in kwargs:
1116 # temporary workaround for non-paging methods incorrectly requiring
1117 # page token parameter (cf. drive.changes.watch vs. drive.changes.list)
1118 if name not in _PAGE_TOKEN_NAMES or _findPageTokenName(
1119 _methodProperties(methodDesc, schema, "response")
1120 ):
1121 raise TypeError('Missing required parameter "%s"' % name)
1122
1123 for name, regex in parameters.pattern_params.items():
1124 if name in kwargs:
1125 if isinstance(kwargs[name], str):
1126 pvalues = [kwargs[name]]
1127 else:
1128 pvalues = kwargs[name]
1129 for pvalue in pvalues:
1130 if re.match(regex, pvalue) is None:
1131 raise TypeError(
1132 'Parameter "%s" value "%s" does not match the pattern "%s"'
1133 % (name, pvalue, regex)
1134 )
1135
1136 for name, enums in parameters.enum_params.items():
1137 if name in kwargs:
1138 # We need to handle the case of a repeated enum
1139 # name differently, since we want to handle both
1140 # arg='value' and arg=['value1', 'value2']
1141 if name in parameters.repeated_params and not isinstance(
1142 kwargs[name], str
1143 ):
1144 values = kwargs[name]
1145 else:
1146 values = [kwargs[name]]
1147 for value in values:
1148 if value not in enums:
1149 raise TypeError(
1150 'Parameter "%s" value "%s" is not an allowed value in "%s"'
1151 % (name, value, str(enums))
1152 )
1153
1154 actual_query_params = {}
1155 actual_path_params = {}

Callers

nothing calls this directly

Calls 15

MediaModelClass · 0.90
RawModelClass · 0.90
UnknownFileTypeClass · 0.90
MediaFileUploadClass · 0.90
_add_query_parameterFunction · 0.90
_findPageTokenNameFunction · 0.85
_methodPropertiesFunction · 0.85
_castFunction · 0.85
_urljoinFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…