)]}'
{"glanceclient/common/https.py":[{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"23ad7592d89ef04db87fdca2e7fa6e90d09304fa","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"def verify_callback(host\u003dNone):"},{"line_number":55,"context_line":"    \"\"\"Verify the callback."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    We use a partial around the \u0027real\u0027 verify_callback function"},{"line_number":58,"context_line":"    so that we can stash the host value without holding a"}],"source_content_type":"text/x-python","patch_set":1,"id":"da0c15f0_493c8d93","line":55,"updated":"2016-03-25 12:20:33.000000000","message":"I think that doc string can be more clear here like\nwrapper around do_verify_callback that that holds host value or\nhelper for do_verify or something else.","commit_id":"9e8277cb975a5a1512ac68b50c17305c56093424"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"36886e2ac9d19fa3307a06c3d1cc0e7d40afc913","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"def verify_callback(host\u003dNone):"},{"line_number":55,"context_line":"    \"\"\"Verify the callback."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    We use a partial around the \u0027real\u0027 verify_callback function"},{"line_number":58,"context_line":"    so that we can stash the host value without holding a"}],"source_content_type":"text/x-python","patch_set":1,"id":"da0c15f0_9149958e","line":55,"in_reply_to":"da0c15f0_493c8d93","updated":"2016-03-25 23:17:02.000000000","message":"Done","commit_id":"9e8277cb975a5a1512ac68b50c17305c56093424"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"23ad7592d89ef04db87fdca2e7fa6e90d09304fa","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"class HTTPSConnectionPool(connectionpool.HTTPSConnectionPool):"},{"line_number":190,"context_line":"    \"\"\"An connectionpool.HTTPSConnectionPool"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    HTTPSConnectionPool will be instantiated when a new"},{"line_number":193,"context_line":"    connection is requested to the HTTPSAdapter. This"}],"source_content_type":"text/x-python","patch_set":1,"id":"da0c15f0_e972c17b","line":190,"updated":"2016-03-25 12:20:33.000000000","message":"Looks like we need some short resume instead of class name.","commit_id":"9e8277cb975a5a1512ac68b50c17305c56093424"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"36886e2ac9d19fa3307a06c3d1cc0e7d40afc913","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"class HTTPSConnectionPool(connectionpool.HTTPSConnectionPool):"},{"line_number":190,"context_line":"    \"\"\"An connectionpool.HTTPSConnectionPool"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    HTTPSConnectionPool will be instantiated when a new"},{"line_number":193,"context_line":"    connection is requested to the HTTPSAdapter. This"}],"source_content_type":"text/x-python","patch_set":1,"id":"da0c15f0_f15e1144","line":190,"in_reply_to":"da0c15f0_e972c17b","updated":"2016-03-25 23:17:02.000000000","message":"Done","commit_id":"9e8277cb975a5a1512ac68b50c17305c56093424"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"a80b7e95429ea1d5601f069abfdae4b738f01d88","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"def verify_callback(host\u003dNone):"},{"line_number":55,"context_line":"    \"\"\"Provides wrapper for do_verify_callback"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    We use a partial around the \u0027real\u0027 verify_callback function"},{"line_number":58,"context_line":"    so that we can stash the host value without holding a"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_dd081230","line":55,"updated":"2016-04-05 21:24:32.000000000","message":"This should use the imperative voice (Provide) and have a period at the end.","commit_id":"c2828bd16932b2291e4b4140609d795d03485df5"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"cecd4c3da34e31d0728aeb190ced3c12120d340b","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"def verify_callback(host\u003dNone):"},{"line_number":55,"context_line":"    \"\"\"Provides wrapper for do_verify_callback"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    We use a partial around the \u0027real\u0027 verify_callback function"},{"line_number":58,"context_line":"    so that we can stash the host value without holding a"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_56e17ccf","line":55,"in_reply_to":"9a061dce_dd081230","updated":"2016-04-06 03:05:43.000000000","message":"Done","commit_id":"c2828bd16932b2291e4b4140609d795d03485df5"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"a80b7e95429ea1d5601f069abfdae4b738f01d88","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"class HTTPSConnectionPool(connectionpool.HTTPSConnectionPool):"},{"line_number":190,"context_line":"    \"\"\"A connection pool used by HTTPSAdapter overwritten _new_conn"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    HTTPSConnectionPool will be instantiated when a new"},{"line_number":193,"context_line":"    connection is requested to the HTTPSAdapter. This"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_3d082e2c","line":190,"updated":"2016-04-05 21:24:32.000000000","message":"This needs a better summary line. Perhaps just: \"A replacement for the default HTTPSConnectionPool.\"","commit_id":"c2828bd16932b2291e4b4140609d795d03485df5"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"36331bdc08bac6d51c6a48ef1b7c73c134c4a897","unresolved":false,"context_lines":[{"line_number":325,"context_line":"    def connect(self):"},{"line_number":326,"context_line":"        \"\"\"Connect to an SSL port using the OpenSSL library."},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"        And applies per-connection parameters to connection."},{"line_number":329,"context_line":"        \"\"\""},{"line_number":330,"context_line":"        result \u003d socket.getaddrinfo(self.host, self.port, 0,"},{"line_number":331,"context_line":"                                    socket.SOCK_STREAM)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_6ca4c8a5","line":328,"updated":"2016-04-18 16:11:27.000000000","message":"One nit:\n\n    This method also applies per-connection parameters to the connection.\n\nComplete is better than short :)","commit_id":"647d91dc3496525fef6d18bb4e277cb66d9d8ee4"}],"glanceclient/common/progressbar.py":[{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"a80b7e95429ea1d5601f069abfdae4b738f01d88","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class _ProgressBarBase(object):"},{"line_number":22,"context_line":"    \"\"\"Abstract Base Progress Bar class."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    Base abstract class used by specific class wrapper to show"},{"line_number":25,"context_line":"    a progress bar when the wrapped object are consumed."}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_bd139e65","line":22,"updated":"2016-04-05 21:24:32.000000000","message":"This should be a bit more descriptive than the name of the class already is.","commit_id":"c2828bd16932b2291e4b4140609d795d03485df5"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"cecd4c3da34e31d0728aeb190ced3c12120d340b","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class _ProgressBarBase(object):"},{"line_number":22,"context_line":"    \"\"\"Abstract Base Progress Bar class."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    Base abstract class used by specific class wrapper to show"},{"line_number":25,"context_line":"    a progress bar when the wrapped object are consumed."}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_96eb14b0","line":22,"in_reply_to":"9a061dce_bd139e65","updated":"2016-04-06 03:05:43.000000000","message":"Done","commit_id":"c2828bd16932b2291e4b4140609d795d03485df5"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"a80b7e95429ea1d5601f069abfdae4b738f01d88","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"class VerboseFileWrapper(_ProgressBarBase):"},{"line_number":54,"context_line":"    \"\"\"Verbose File Wrapper class."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    A file wrapper that show and advance a progress bar"},{"line_number":57,"context_line":"    whenever file\u0027s read method is called."}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_9d169a53","line":54,"updated":"2016-04-05 21:24:32.000000000","message":"Same comment as above.","commit_id":"c2828bd16932b2291e4b4140609d795d03485df5"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"cecd4c3da34e31d0728aeb190ced3c12120d340b","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"class VerboseFileWrapper(_ProgressBarBase):"},{"line_number":54,"context_line":"    \"\"\"Verbose File Wrapper class."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    A file wrapper that show and advance a progress bar"},{"line_number":57,"context_line":"    whenever file\u0027s read method is called."}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_f6d250ff","line":54,"in_reply_to":"9a061dce_9d169a53","updated":"2016-04-06 03:05:43.000000000","message":"Done","commit_id":"c2828bd16932b2291e4b4140609d795d03485df5"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"a80b7e95429ea1d5601f069abfdae4b738f01d88","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"class VerboseIteratorWrapper(_ProgressBarBase):"},{"line_number":73,"context_line":"    \"\"\"Verbose Iterator Wrapper class."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    An iterator wrapper that show and advance a progress bar whenever"},{"line_number":76,"context_line":"    data is consumed from the iterator."}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_fd0d163f","line":73,"updated":"2016-04-05 21:24:32.000000000","message":"Same comment as the two above this.","commit_id":"c2828bd16932b2291e4b4140609d795d03485df5"}],"glanceclient/tests/unit/test_http.py":[{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"a80b7e95429ea1d5601f069abfdae4b738f01d88","unresolved":false,"context_lines":[{"line_number":172,"context_line":"        self.assertIn(self.endpoint, comm_err.message)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    def test_connection_refused(self):"},{"line_number":175,"context_line":"        \"\"\"Should receive a CommunicationError if connection refused."},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        The error should list the host and port that refused the"},{"line_number":178,"context_line":"        connection."}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_3d314e06","line":175,"updated":"2016-04-05 21:24:32.000000000","message":"Imperative tone, please. \"Verify a CommunicationError is received if the connection is refused.\" (or something like that)","commit_id":"c2828bd16932b2291e4b4140609d795d03485df5"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"cecd4c3da34e31d0728aeb190ced3c12120d340b","unresolved":false,"context_lines":[{"line_number":172,"context_line":"        self.assertIn(self.endpoint, comm_err.message)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    def test_connection_refused(self):"},{"line_number":175,"context_line":"        \"\"\"Should receive a CommunicationError if connection refused."},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        The error should list the host and port that refused the"},{"line_number":178,"context_line":"        connection."}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_d6cd8c5e","line":175,"in_reply_to":"9a061dce_3d314e06","updated":"2016-04-06 03:05:43.000000000","message":"Done","commit_id":"c2828bd16932b2291e4b4140609d795d03485df5"}],"glanceclient/tests/unit/v1/test_shell.py":[{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"a80b7e95429ea1d5601f069abfdae4b738f01d88","unresolved":false,"context_lines":[{"line_number":440,"context_line":"class ShellStdinHandlingTests(testtools.TestCase):"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"    def _fake_update_func(self, *args, **kwargs):"},{"line_number":443,"context_line":"        \"\"\"Function to replace glanceclient.images.update."},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"        To determine the parameters that would be supplied with the update"},{"line_number":446,"context_line":"        request."}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_5d1c0277","line":443,"updated":"2016-04-05 21:24:32.000000000","message":"Imperative voice again, please.","commit_id":"c2828bd16932b2291e4b4140609d795d03485df5"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"cecd4c3da34e31d0728aeb190ced3c12120d340b","unresolved":false,"context_lines":[{"line_number":440,"context_line":"class ShellStdinHandlingTests(testtools.TestCase):"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"    def _fake_update_func(self, *args, **kwargs):"},{"line_number":443,"context_line":"        \"\"\"Function to replace glanceclient.images.update."},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"        To determine the parameters that would be supplied with the update"},{"line_number":446,"context_line":"        request."}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_16d8a41c","line":443,"in_reply_to":"9a061dce_5d1c0277","updated":"2016-04-06 03:05:43.000000000","message":"Done","commit_id":"c2828bd16932b2291e4b4140609d795d03485df5"}],"glanceclient/tests/utils.py":[{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"a80b7e95429ea1d5601f069abfdae4b738f01d88","unresolved":false,"context_lines":[{"line_number":74,"context_line":"class RawRequest(object):"},{"line_number":75,"context_line":"    def __init__(self, headers, body\u003dNone,"},{"line_number":76,"context_line":"                 version\u003d1.0, status\u003d200, reason\u003d\"Ok\"):"},{"line_number":77,"context_line":"        \"\"\"RawRequest object"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        :param headers: dict representing HTTP response headers"},{"line_number":80,"context_line":"        :param body: file-like object"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_1d2c4aaa","line":77,"updated":"2016-04-05 21:24:32.000000000","message":"Please, could this be more descriptive than the class name?","commit_id":"c2828bd16932b2291e4b4140609d795d03485df5"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"cecd4c3da34e31d0728aeb190ced3c12120d340b","unresolved":false,"context_lines":[{"line_number":74,"context_line":"class RawRequest(object):"},{"line_number":75,"context_line":"    def __init__(self, headers, body\u003dNone,"},{"line_number":76,"context_line":"                 version\u003d1.0, status\u003d200, reason\u003d\"Ok\"):"},{"line_number":77,"context_line":"        \"\"\"RawRequest object"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        :param headers: dict representing HTTP response headers"},{"line_number":80,"context_line":"        :param body: file-like object"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_16c1c42e","line":77,"in_reply_to":"9a061dce_1d2c4aaa","updated":"2016-04-06 03:05:43.000000000","message":"Done","commit_id":"c2828bd16932b2291e4b4140609d795d03485df5"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"a80b7e95429ea1d5601f069abfdae4b738f01d88","unresolved":false,"context_lines":[{"line_number":101,"context_line":"class FakeResponse(object):"},{"line_number":102,"context_line":"    def __init__(self, headers\u003dNone, body\u003dNone,"},{"line_number":103,"context_line":"                 version\u003d1.0, status_code\u003d200, reason\u003d\"Ok\"):"},{"line_number":104,"context_line":"        \"\"\"FakeResponse object"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        :param headers: dict representing HTTP response headers"},{"line_number":107,"context_line":"        :param body: file-like object"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_7d190688","line":104,"updated":"2016-04-05 21:24:32.000000000","message":"Same comment as above","commit_id":"c2828bd16932b2291e4b4140609d795d03485df5"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"cecd4c3da34e31d0728aeb190ced3c12120d340b","unresolved":false,"context_lines":[{"line_number":101,"context_line":"class FakeResponse(object):"},{"line_number":102,"context_line":"    def __init__(self, headers\u003dNone, body\u003dNone,"},{"line_number":103,"context_line":"                 version\u003d1.0, status_code\u003d200, reason\u003d\"Ok\"):"},{"line_number":104,"context_line":"        \"\"\"FakeResponse object"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        :param headers: dict representing HTTP response headers"},{"line_number":107,"context_line":"        :param body: file-like object"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_76de4012","line":104,"in_reply_to":"9a061dce_7d190688","updated":"2016-04-06 03:05:43.000000000","message":"Done","commit_id":"c2828bd16932b2291e4b4140609d795d03485df5"}],"glanceclient/v2/schemas.py":[{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"a80b7e95429ea1d5601f069abfdae4b738f01d88","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        self.properties \u003d translate_schema_properties(raw_properties)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def is_core_property(self, property_name):"},{"line_number":90,"context_line":"        \"\"\"Checks if a property with a given name is known to the schema."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        Determines if it is either a base property or a custom one"},{"line_number":93,"context_line":"        registered in schema-image.json file"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_1d03aa10","line":90,"updated":"2016-04-05 21:24:32.000000000","message":"Imperative voice please.","commit_id":"c2828bd16932b2291e4b4140609d795d03485df5"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"cecd4c3da34e31d0728aeb190ced3c12120d340b","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        self.properties \u003d translate_schema_properties(raw_properties)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def is_core_property(self, property_name):"},{"line_number":90,"context_line":"        \"\"\"Checks if a property with a given name is known to the schema."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        Determines if it is either a base property or a custom one"},{"line_number":93,"context_line":"        registered in schema-image.json file"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_d6c62c48","line":90,"in_reply_to":"9a061dce_1d03aa10","updated":"2016-04-06 03:05:43.000000000","message":"Done","commit_id":"c2828bd16932b2291e4b4140609d795d03485df5"}]}
