Files
PyGithub/codegen/templates/GithubObject.MethodBody.DoRequest.py
T
Vincent Jacques 1527a836b3 Structure more parameters
We will HAVE to reduce differences between generated
code and code that actualy works...
2012-06-01 21:16:42 +01:00

55 lines
2.7 KiB
Python

{% if method.request.postParameters %}
{% if method.variadicParameter %}
{% if method.variadicParameter.type.simple %}
post_parameters = {{ method.variadicParameter.name }}s
{% else %}
post_parameters = [ {{ method.variadicParameter.name }}._identity for {{ method.variadicParameter.name }} in {{ method.variadicParameter.name }}s ]
{% endif %}
{% else %}
{% if method.mandatoryParameters %}
post_parameters = {
{% for parameter in method.mandatoryParameters %}
"{{ parameter.name }}": {% if parameter.type.simple %}{{ parameter.name }}{% else %}{% if parameter.type.cardinality == "list" %}[ element._identity for element in {{ parameter.name }} ]{% else %}{% if parameter.type.cardinality == "dict" %}dict( ( key, value._identity ) for key, value in {{ parameter.name }}.iteritems() ){% else %}{{ parameter.name }}._identity{% endif %}{% endif %}{% endif %},
{% endfor %}
}
{% else %}
post_parameters = dict()
{% endif %}
{% for parameter in method.optionalParameters %}
if {{ parameter.name }} is not GithubObject.NotSet:
post_parameters[ "{{ parameter.name }}" ] = {% if parameter.type.simple %}{{ parameter.name }}{% else %}{% if parameter.type.cardinality == "list" %}[ element._identity for element in {{ parameter.name }} ]{% else %}{% if parameter.type.cardinality == "dict" %}dict( ( key, value._identity ) for key, value in {{ parameter.name }}.iteritems() ){% else %}{{ parameter.name }}._identity{% endif %}{% endif %}{% endif %}
{% endfor %}
{% endif %}
{% else %}
{% if method.optionalParameters %}
url_parameters = dict()
{% for parameter in method.optionalParameters %}
if {{ parameter.name }} is not GithubObject.NotSet:
url_parameters[ "{{ parameter.name }}" ] = {{ parameter.name }}
{% endfor %}
{% endif %}
{% endif %}
{% if method.request.urlParameters %}
url_parameters = {
{% for parameter in method.request.urlParameters %}
"{{ parameter.name }}": {% include "GithubObject.Concatenation.py" with concatenation=parameter.value only %},
{% endfor %}
}
{% endif %}
status, headers, data = self._request(
"{{ method.request.verb }}",
{% include "GithubObject.Concatenation.py" with concatenation=method.request.url only %},
{% if method.request.urlParameters or not method.request.postParameters and method.optionalParameters %}
url_parameters,
{% else %}
None,
{% endif %}
{% if method.request.postParameters %}
post_parameters
{% else %}
None
{% endif %}
)