Mercurial > lbo > hg > async-google-apis
changeset 221:a19056bcc2c9
correctly handle Option<DateTime<Utc>> parameters
author | Daniel Boline <ddboline@gmail.com> |
---|---|
date | Sun, 28 Feb 2021 11:31:49 -0500 |
parents | 24111655a562 |
children | 2f7355889c05 |
files | generate/generate.py generate/templates.py |
diffstat | 2 files changed, 11 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/generate/generate.py Sun Feb 28 11:17:03 2021 -0500 +++ b/generate/generate.py Sun Feb 28 11:31:49 2021 -0500 @@ -265,6 +265,7 @@ } req_query_parameters = [] opt_query_parameters = [] + opt_time_query_parameters = [] if global_params: struct['fields'].append({ 'name': replace_keywords(rust_identifier(global_params)), @@ -290,10 +291,14 @@ if param.get('required', False): req_query_parameters.append(field) else: - opt_query_parameters.append(field) + if 'DateTime' in field['typ']: + opt_time_query_parameters.append(field) + else: + opt_query_parameters.append(field) frags.append(chevron.render(SchemaStructTmpl, struct)) struct['required_fields'] = req_query_parameters struct['optional_fields'] = opt_query_parameters + struct['datetime_fields'] = opt_time_query_parameters frags.append(chevron.render(SchemaDisplayTmpl, struct)) structs.append(struct) # Generate parameter types for subresources.
--- a/generate/templates.py Sun Feb 28 11:17:03 2021 -0500 +++ b/generate/templates.py Sun Feb 28 11:31:49 2021 -0500 @@ -114,6 +114,11 @@ write!(f, "&{{{original_name}}}={}", percent_encode(format!("{}", v).as_bytes(), NON_ALPHANUMERIC).to_string())?; } {{/optional_fields}} + {{#datetime_fields}} + if let Some(ref v) = self.{{{name}}} { + write!(f, "&{{{original_name}}}={}", percent_encode(v.to_rfc3339().as_bytes(), NON_ALPHANUMERIC).to_string())?; + } + {{/datetime_fields}} Ok(()) } }