@@ -133,6 +133,16 @@ def __init__(self, discovery_doc, language=None):
133133 # update the schema template properties.
134134 self ._variant_info = {}
135135
136+ # Global parameters
137+ self ._parameters = []
138+ param_dict = self .values .get ('parameters' ) or {}
139+ for name in sorted (param_dict ):
140+ parameter = Parameter (self , name , param_dict [name ], self )
141+ self ._parameters .append (parameter )
142+ if name == 'alt' :
143+ self .SetTemplateValue ('alt' , parameter )
144+ self .SetTemplateValue ('parameters' , self ._parameters )
145+
136146 # Build data types and methods
137147 self ._SetupModules ()
138148 self .void_type = data_types .Void (self )
@@ -150,16 +160,6 @@ def __init__(self, discovery_doc, language=None):
150160 self ._top_level_methods .append (Method (self , name , method_dict [name ]))
151161 self .SetTemplateValue ('methods' , self ._top_level_methods )
152162
153- # Global parameters
154- self ._parameters = []
155- param_dict = self .values .get ('parameters' ) or {}
156- for name in sorted (param_dict ):
157- parameter = Parameter (self , name , param_dict [name ], self )
158- self ._parameters .append (parameter )
159- if name == 'alt' :
160- self .SetTemplateValue ('alt' , parameter )
161- self .SetTemplateValue ('parameters' , self ._parameters )
162-
163163 # Auth scopes
164164 self ._authscopes = []
165165 if (self .values .get ('auth' ) and
@@ -725,20 +725,23 @@ def __init__(self, api, name, def_dict, parent=None):
725725 req_parameters = []
726726 opt_parameters = []
727727 for name , def_dict in list (self .values .get ('parameters' , {}).items ()):
728- param = Parameter (api , name , def_dict , self )
729- if name == 'alt' :
730- # Treat the alt parameter differently
731- self .SetTemplateValue ('alt' , param )
732- continue
733-
734- # Standard params are part of the generic request class
735- # We want to push all parameters that aren't declared inside
736- # parameterOrder after those that are.
737- if param .values ['wireName' ] in order :
738- req_parameters .append (param )
728+ if any (param .codeName == name for param in api ._parameters ):
729+ _LOGGER .debug ("Param %s exists at the global level, not including." , name )
739730 else :
740- # optional parameters are appended in the order they're declared.
741- opt_parameters .append (param )
731+ param = Parameter (api , name , def_dict , self )
732+ if name == 'alt' :
733+ # Treat the alt parameter differently
734+ self .SetTemplateValue ('alt' , param )
735+ continue
736+
737+ # Standard params are part of the generic request class
738+ # We want to push all parameters that aren't declared inside
739+ # parameterOrder after those that are.
740+ if param .values ['wireName' ] in order :
741+ req_parameters .append (param )
742+ else :
743+ # optional parameters are appended in the order they're declared.
744+ opt_parameters .append (param )
742745 # pylint: disable=g-long-lambda
743746 req_parameters .sort (key = lambda x : order .index (x .values ['wireName' ]))
744747 # sort optional parameters by name to avoid code churn
0 commit comments