)]}'
{"api-ref/source/v3-ext/parameters.yaml":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"25f5e5c76b7e01ef5185a8d278edada5fe9ecb8e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"da4df55a_ffea0673","updated":"2016-12-28 03:08:20.000000000","message":"undo this change, its not necessary for this bug","commit_id":"ef18060dd7e4580b6a736b6fa09cafffa6921637"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"62c11dde3ffbafd15c2bebd1f0c283882dd098f2","unresolved":false,"context_lines":[{"line_number":209,"context_line":"  in: body"},{"line_number":210,"context_line":"  required: true"},{"line_number":211,"context_line":"  type: string"},{"line_number":212,"context_line":"oauth_expires_at:"},{"line_number":213,"context_line":"  description: |"},{"line_number":214,"context_line":"    The date and time when an oauth token expires."},{"line_number":215,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"da4df55a_ff5cc67e","line":212,"range":{"start_line":212,"start_character":0,"end_line":212,"end_character":16},"updated":"2016-12-28 03:04:06.000000000","message":"this is actually related to oauth tokens over here: https://github.com/openstack/keystone/blob/master/keystone/oauth1/backends/sql.py#L209-L214\n\nsample output:\n\n\u003e\u003e\u003e import datetime\n\u003e\u003e\u003e from keystone.common import utils\n\u003e\u003e\u003e expiry_date \u003d None\n\u003e\u003e\u003e now \u003d timeutils.utcnow()\n\u003e\u003e\u003e request_token_duration\u003d3600\n\u003e\u003e\u003e future \u003d now + datetime.timedelta(seconds\u003drequest_token_duration)\n\u003e\u003e\u003e expiry_date \u003d utils.isotime(future, subsecond\u003dTrue)\n\u003e\u003e\u003e print expiry_date\n2016-12-28T04:01:24.000000Z","commit_id":"ef18060dd7e4580b6a736b6fa09cafffa6921637"}]}
