)]}'
{"glance/common/utils.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"4a0e1bd3087dce677de8164b08799d26394fdbf4","unresolved":false,"context_lines":[{"line_number":23,"context_line":"import datetime"},{"line_number":24,"context_line":"import errno"},{"line_number":25,"context_line":"import inspect"},{"line_number":26,"context_line":"import iso8601"},{"line_number":27,"context_line":"import logging"},{"line_number":28,"context_line":"import os"},{"line_number":29,"context_line":"import random"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAEn%2F%2F5aY%3D","line":26,"updated":"2012-02-17 18:56:21.000000000","message":"Since this is a third-party import, it should be in a block by itself, between the import for uuid and glance.common.exception, in order to comply with HACKING.","commit_id":"4a234942c7f34cf038354c281dd5b0cbf5bbe385"}],"glance/tests/functional/test_api.py":[{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"f7ff372dfe3dec35b0a6a686d776496a7ac65bf0","unresolved":false,"context_lines":[{"line_number":681,"context_line":"        # ensure first image is at least 2s older that the others"},{"line_number":682,"context_line":"        time.sleep(1)"},{"line_number":683,"context_line":"        split_time \u003d datetime.datetime.utcnow()"},{"line_number":684,"context_line":"        time.sleep(1)"},{"line_number":685,"context_line":""},{"line_number":686,"context_line":"        headers \u003d {\u0027Content-Type\u0027: \u0027application/octet-stream\u0027,"},{"line_number":687,"context_line":"                   \u0027X-Image-Meta-Name\u0027: \u0027My Image!\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAEn%2F%2F6Xw%3D","line":684,"updated":"2012-02-15 17:27:02.000000000","message":"Rather than placing sleeps in here, we can just depend on the tests in test_api to exercise this code. I don\u0027t think this is really adding that much over the other coverage you added, anyways.","commit_id":"b73ffafbe7328626922cc248bbfc561b5295b838"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"4672f9693fff00eefc5e004e35328cf8fe3c6a77","unresolved":false,"context_lines":[{"line_number":681,"context_line":"        # ensure first image is at least 2s older that the others"},{"line_number":682,"context_line":"        time.sleep(1)"},{"line_number":683,"context_line":"        split_time \u003d datetime.datetime.utcnow()"},{"line_number":684,"context_line":"        time.sleep(1)"},{"line_number":685,"context_line":""},{"line_number":686,"context_line":"        headers \u003d {\u0027Content-Type\u0027: \u0027application/octet-stream\u0027,"},{"line_number":687,"context_line":"                   \u0027X-Image-Meta-Name\u0027: \u0027My Image!\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAEn%2F%2F6VI%3D","line":684,"in_reply_to":"AAAAEn%2F%2F6VY%3D","updated":"2012-02-15 18:29:38.000000000","message":"I guess my point is that the comparison testing is already covered. I\u0027m fine testing (de)serialization of the timestamps at this level, but I don\u0027t want to duplicate the comparison testing.","commit_id":"b73ffafbe7328626922cc248bbfc561b5295b838"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"d1cae0ac7edc3c54f46c08a93ba62fdcf773f176","unresolved":false,"context_lines":[{"line_number":681,"context_line":"        # ensure first image is at least 2s older that the others"},{"line_number":682,"context_line":"        time.sleep(1)"},{"line_number":683,"context_line":"        split_time \u003d datetime.datetime.utcnow()"},{"line_number":684,"context_line":"        time.sleep(1)"},{"line_number":685,"context_line":""},{"line_number":686,"context_line":"        headers \u003d {\u0027Content-Type\u0027: \u0027application/octet-stream\u0027,"},{"line_number":687,"context_line":"                   \u0027X-Image-Meta-Name\u0027: \u0027My Image!\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAEn%2F%2F6VY%3D","line":684,"in_reply_to":"AAAAEn%2F%2F6Xw%3D","updated":"2012-02-15 18:26:07.000000000","message":"Yeah, I\u0027m not a big fan of sleeps in test code either.\n\nIn this case though, I think we do get additional useful coverage of the timestamp comparison in glance/registry/db/api.py (which necessitated the introduction of the utils.normalize_time method).","commit_id":"b73ffafbe7328626922cc248bbfc561b5295b838"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"4a0e1bd3087dce677de8164b08799d26394fdbf4","unresolved":false,"context_lines":[{"line_number":906,"context_line":""},{"line_number":907,"context_line":"        # 16. GET /images with past changes-since filter"},{"line_number":908,"context_line":"        yesterday \u003d utils.isotime(datetime.datetime.utcnow()"},{"line_number":909,"context_line":"                                  - datetime.timedelta(1))"},{"line_number":910,"context_line":"        params \u003d \"changes-since\u003d%s\" % yesterday"},{"line_number":911,"context_line":"        path \u003d \"http://%s:%d/v1/images?%s\" % (\"0.0.0.0\", self.api_port, params)"},{"line_number":912,"context_line":"        response, content \u003d http.request(path, \u0027GET\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAEn%2F%2F5aM%3D","line":909,"updated":"2012-02-17 18:56:21.000000000","message":"\u003cnitpick\u003eI\u0027d put the \u0027-\u0027 on the line before\u003c/nitpick\u003e\n\n(Don\u0027t worry about it, though ;)","commit_id":"4a234942c7f34cf038354c281dd5b0cbf5bbe385"}],"glance/tests/unit/test_utils.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"4a0e1bd3087dce677de8164b08799d26394fdbf4","unresolved":false,"context_lines":[{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import unittest"},{"line_number":19,"context_line":"import iso8601"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from glance.common import utils"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAEn%2F%2F5aI%3D","line":19,"updated":"2012-02-17 18:56:21.000000000","message":"Since this is a third-party module, it should be separated from the standard module imports, as per HACKING.","commit_id":"4a234942c7f34cf038354c281dd5b0cbf5bbe385"}]}
