Handle regexs that are applied to repeating parameters. Reviewed in http://codereview.appspot.com/5413050/
diff --git a/apiclient/discovery.py b/apiclient/discovery.py
index 7cb4852..bcfdd69 100644
--- a/apiclient/discovery.py
+++ b/apiclient/discovery.py
@@ -393,10 +393,15 @@
for name, regex in pattern_params.iteritems():
if name in kwargs:
- if re.match(regex, kwargs[name]) is None:
- raise TypeError(
- 'Parameter "%s" value "%s" does not match the pattern "%s"' %
- (name, kwargs[name], regex))
+ if isinstance(kwargs[name], basestring):
+ pvalues = [kwargs[name]]
+ else:
+ pvalues = kwargs[name]
+ for pvalue in pvalues:
+ if re.match(regex, pvalue) is None:
+ raise TypeError(
+ 'Parameter "%s" value "%s" does not match the pattern "%s"' %
+ (name, pvalue, regex))
for name, enums in enum_params.iteritems():
if name in kwargs: