)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"64a9661371b6f1864c0297ed9f20ff7290ce2104","unresolved":false,"context_lines":[{"line_number":24,"context_line":"At the controller level, the freshness atribute is"},{"line_number":25,"context_line":"added to the HTTP response as the value of the"},{"line_number":26,"context_line":"\u0027max-age\u0027 attribute of the \u0027Cache-Control\u0027 header."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Partially-Implements: bp dynamic-policies-delivery"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Change-Id: I38629043ec057908ab349882153140b0f671838d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"da20952f_9141100e","line":27,"updated":"2015-09-03 08:24:07.000000000","message":"This patch impact the existing API (get_policy_for_endpoint), might need add APIImpact here.\n\nFurthermore, DocImpact also needed here since there might need some document somewhere, for examle, the doc about how \u0027valid_to\u0027 is generated.","commit_id":"5990fa700457b52b60780f63dc14bd1576d922a3"}],"keystone/common/config.py":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"c5d60ecb4f1b03ae316ae2c11aed1cae0b14268b","unresolved":false,"context_lines":[{"line_number":540,"context_line":"                        \u0027in a policy collection.\u0027),"},{"line_number":541,"context_line":"        cfg.IntOpt(\u0027policy_timeout\u0027,"},{"line_number":542,"context_line":"                   default\u003d300,"},{"line_number":543,"context_line":"                   help\u003d\u0027Add help text ...\u0027)"},{"line_number":544,"context_line":"    ],"},{"line_number":545,"context_line":"    \u0027endpoint_filter\u0027: ["},{"line_number":546,"context_line":"        cfg.StrOpt(\u0027driver\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_f52a182f","line":543,"updated":"2015-08-07 19:43:02.000000000","message":"yep, adding help text would be good :-)","commit_id":"88ee64843a70702ec3a5722b871bdb949ff3f19c"},{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"d507064b492b0b64f783f22000c99b29ef72c144","unresolved":false,"context_lines":[{"line_number":540,"context_line":"                        \u0027in a policy collection.\u0027),"},{"line_number":541,"context_line":"        cfg.IntOpt(\u0027policy_timeout\u0027,"},{"line_number":542,"context_line":"                   default\u003d300,"},{"line_number":543,"context_line":"                   help\u003d\u0027Add help text ...\u0027)"},{"line_number":544,"context_line":"    ],"},{"line_number":545,"context_line":"    \u0027endpoint_filter\u0027: ["},{"line_number":546,"context_line":"        cfg.StrOpt(\u0027driver\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_ab406708","line":543,"in_reply_to":"1a4dcd0f_f52a182f","updated":"2015-08-10 18:26:16.000000000","message":"hehe , added in the next version :)","commit_id":"88ee64843a70702ec3a5722b871bdb949ff3f19c"}],"keystone/endpoint_policy/core.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"64a9661371b6f1864c0297ed9f20ff7290ce2104","unresolved":false,"context_lines":[{"line_number":221,"context_line":"                        + timeout_delay)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"        timeout_datetime \u003d datetime.datetime.utcfromtimestamp(timeout_secs)"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"        if timeout_secs \u003e now_secs:"},{"line_number":226,"context_line":"            # The calculated timeout event did not occur yet"},{"line_number":227,"context_line":"            return timeout_datetime"}],"source_content_type":"text/x-python","patch_set":13,"id":"da20952f_51dcd8e3","line":224,"updated":"2015-09-03 08:24:07.000000000","message":"The algorithm used here is interesting. :)","commit_id":"5990fa700457b52b60780f63dc14bd1576d922a3"}],"keystone/policy/core.py":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"c5d60ecb4f1b03ae316ae2c11aed1cae0b14268b","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from oslo_config import cfg"},{"line_number":21,"context_line":"from oslo_utils import timeutils"},{"line_number":22,"context_line":"import six"},{"line_number":23,"context_line":"import uuid"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from keystone.common import dependency"},{"line_number":26,"context_line":"from keystone.common import manager"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_b5249060","line":23,"updated":"2015-08-07 19:43:02.000000000","message":"uuid is standard lib","commit_id":"88ee64843a70702ec3a5722b871bdb949ff3f19c"},{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"d507064b492b0b64f783f22000c99b29ef72c144","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from oslo_config import cfg"},{"line_number":21,"context_line":"from oslo_utils import timeutils"},{"line_number":22,"context_line":"import six"},{"line_number":23,"context_line":"import uuid"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from keystone.common import dependency"},{"line_number":26,"context_line":"from keystone.common import manager"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_45019405","line":23,"in_reply_to":"1a4dcd0f_b5249060","updated":"2015-08-10 18:26:16.000000000","message":"Done","commit_id":"88ee64843a70702ec3a5722b871bdb949ff3f19c"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"1cf8663a3fcf536f89379fca0ad74e83a5f01490","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        timeout_datetime \u003d datetime.datetime(seconds\u003dtimeout_secs)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        if timeout_datetime \u003e now_datetime:"},{"line_number":85,"context_line":"            # The calculated timeout event did not ocur yet"},{"line_number":86,"context_line":"            return latest_release"},{"line_number":87,"context_line":"        else:"},{"line_number":88,"context_line":"            # The calculated timeout event ocurred, return the next one"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_a813975b","line":85,"updated":"2015-08-10 14:51:44.000000000","message":"occur*","commit_id":"88ee64843a70702ec3a5722b871bdb949ff3f19c"},{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"d507064b492b0b64f783f22000c99b29ef72c144","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        timeout_datetime \u003d datetime.datetime(seconds\u003dtimeout_secs)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        if timeout_datetime \u003e now_datetime:"},{"line_number":85,"context_line":"            # The calculated timeout event did not ocur yet"},{"line_number":86,"context_line":"            return latest_release"},{"line_number":87,"context_line":"        else:"},{"line_number":88,"context_line":"            # The calculated timeout event ocurred, return the next one"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_c80b7923","line":85,"in_reply_to":"1a4dcd0f_a813975b","updated":"2015-08-10 18:26:16.000000000","message":"Done","commit_id":"88ee64843a70702ec3a5722b871bdb949ff3f19c"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"1cf8663a3fcf536f89379fca0ad74e83a5f01490","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            # The calculated timeout event did not ocur yet"},{"line_number":86,"context_line":"            return latest_release"},{"line_number":87,"context_line":"        else:"},{"line_number":88,"context_line":"            # The calculated timeout event ocurred, return the next one"},{"line_number":89,"context_line":"            return latest_release + self.policy_timeout"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def get_policy(self, policy_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_2826a7ba","line":88,"updated":"2015-08-10 14:51:44.000000000","message":"occurred*","commit_id":"88ee64843a70702ec3a5722b871bdb949ff3f19c"},{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"d507064b492b0b64f783f22000c99b29ef72c144","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            # The calculated timeout event did not ocur yet"},{"line_number":86,"context_line":"            return latest_release"},{"line_number":87,"context_line":"        else:"},{"line_number":88,"context_line":"            # The calculated timeout event ocurred, return the next one"},{"line_number":89,"context_line":"            return latest_release + self.policy_timeout"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def get_policy(self, policy_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_4818c975","line":88,"in_reply_to":"1a4dcd0f_2826a7ba","updated":"2015-08-10 18:26:16.000000000","message":"Done","commit_id":"88ee64843a70702ec3a5722b871bdb949ff3f19c"}],"keystone/tests/unit/test_backend_endpoint_policy.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"64a9661371b6f1864c0297ed9f20ff7290ce2104","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import calendar"},{"line_number":16,"context_line":"import datetime"},{"line_number":17,"context_line":"import mock"},{"line_number":18,"context_line":"import uuid"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from six.moves import range"}],"source_content_type":"text/x-python","patch_set":13,"id":"da20952f_03ab761e","line":17,"updated":"2015-09-03 08:24:07.000000000","message":"mock is third party lib.","commit_id":"5990fa700457b52b60780f63dc14bd1576d922a3"}],"keystone/tests/unit/test_v3_endpoint_policy.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"64a9661371b6f1864c0297ed9f20ff7290ce2104","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from testtools import matchers"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from oslo_config import cfg"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from keystone.tests.unit import test_v3"}],"source_content_type":"text/x-python","patch_set":13,"id":"da20952f_83122661","line":16,"updated":"2015-09-03 08:24:07.000000000","message":"remove this blank line, both testools and oslo_cofig fall into third party lib.","commit_id":"5990fa700457b52b60780f63dc14bd1576d922a3"}]}
