)]}'
{"ceilometer/storage/mongo/utils.py":[{"author":{"_account_id":8052,"name":"Nejc Saje","email":"nejc@saje.info","username":"nsaje"},"change_message_id":"58949430b8cec0b2d3c22b701233a46b13e7b8f0","unresolved":false,"context_lines":[{"line_number":154,"context_line":"    return q"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"def impr_keys(data, metaquery\u003dFalse):"},{"line_number":158,"context_line":"    \"\"\"Improves keys in dict if they contained \u0027.\u0027 or started with \u0027$\u0027."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    :param data: is a dictionary where keys need to be checked and improved"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_eaa64053","line":157,"updated":"2014-09-12 09:39:36.000000000","message":"This seems an odd name to me, could it be either improve_keys or even sanitize_keys?","commit_id":"cea6acec9faae090173d4ece43babb530881bfe0"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"1809665083023d3814d6cd55385aaa76fddc8da1","unresolved":false,"context_lines":[{"line_number":154,"context_line":"    return q"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"def impr_keys(data, metaquery\u003dFalse):"},{"line_number":158,"context_line":"    \"\"\"Improves keys in dict if they contained \u0027.\u0027 or started with \u0027$\u0027."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    :param data: is a dictionary where keys need to be checked and improved"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_6cbeedaf","line":157,"in_reply_to":"fa98f980_eaa64053","updated":"2014-09-12 10:02:28.000000000","message":"Agree. Improved.","commit_id":"cea6acec9faae090173d4ece43babb530881bfe0"},{"author":{"_account_id":8052,"name":"Nejc Saje","email":"nejc@saje.info","username":"nsaje"},"change_message_id":"58949430b8cec0b2d3c22b701233a46b13e7b8f0","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        for key, value in data.items():"},{"line_number":180,"context_line":"            if isinstance(value, dict):"},{"line_number":181,"context_line":"                impr_keys(value)"},{"line_number":182,"context_line":"            if key.count(\u0027.\u0027) \u003e 0:"},{"line_number":183,"context_line":"                new_dict \u003d {}"},{"line_number":184,"context_line":"                for k in key.split(\u0027.\u0027)[::-1]:"},{"line_number":185,"context_line":"                    if k.startswith(\u0027$\u0027):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_2a320810","line":182,"updated":"2014-09-12 09:39:36.000000000","message":"Isn\u0027t this the same as\n if \u0027.\u0027 in key:\n?","commit_id":"cea6acec9faae090173d4ece43babb530881bfe0"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"1809665083023d3814d6cd55385aaa76fddc8da1","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        for key, value in data.items():"},{"line_number":180,"context_line":"            if isinstance(value, dict):"},{"line_number":181,"context_line":"                impr_keys(value)"},{"line_number":182,"context_line":"            if key.count(\u0027.\u0027) \u003e 0:"},{"line_number":183,"context_line":"                new_dict \u003d {}"},{"line_number":184,"context_line":"                for k in key.split(\u0027.\u0027)[::-1]:"},{"line_number":185,"context_line":"                    if k.startswith(\u0027$\u0027):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_2ccf8557","line":182,"in_reply_to":"fa98f980_2a320810","updated":"2014-09-12 10:02:28.000000000","message":"yes, exactly! From very beginning I mean two branches from condition \nif \u0027.\u0027 in key:\nbut now it is not need.\n\nDone.","commit_id":"cea6acec9faae090173d4ece43babb530881bfe0"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"91565c229e90b637b92e73e353a1a5510b5fe045","unresolved":false,"context_lines":[{"line_number":162,"context_line":"    :return: improved dictionary if keys contained dots or started with \u0027$\u0027:"},{"line_number":163,"context_line":"            {\u0027a.b\u0027: \u0027v\u0027} -\u003e {\u0027a\u0027: {\u0027b\u0027: \u0027v\u0027}}"},{"line_number":164,"context_line":"            {\u0027$ab\u0027: \u0027v\u0027} -\u003e {\u0027%24ab\u0027: \u0027v\u0027}"},{"line_number":165,"context_line":"    \"\"\""},{"line_number":166,"context_line":"    if isinstance(data, dict):"},{"line_number":167,"context_line":"        if metaquery:"},{"line_number":168,"context_line":"            for key in data.iterkeys():"}],"source_content_type":"text/x-python","patch_set":4,"id":"9aa7fdbe_8515d6e6","line":165,"updated":"2014-10-23 09:46:52.000000000","message":"I suggest to add \n\nif !isinstance(data, dict):\n    return data\n\nto make the code less nested","commit_id":"41b98fd0cbba8c916a7c40b8332e8ee6732a1e68"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"ca4ce1fc0a742ec82f23bf8849f6e52172de8889","unresolved":false,"context_lines":[{"line_number":162,"context_line":"    :return: improved dictionary if keys contained dots or started with \u0027$\u0027:"},{"line_number":163,"context_line":"            {\u0027a.b\u0027: \u0027v\u0027} -\u003e {\u0027a\u0027: {\u0027b\u0027: \u0027v\u0027}}"},{"line_number":164,"context_line":"            {\u0027$ab\u0027: \u0027v\u0027} -\u003e {\u0027%24ab\u0027: \u0027v\u0027}"},{"line_number":165,"context_line":"    \"\"\""},{"line_number":166,"context_line":"    if isinstance(data, dict):"},{"line_number":167,"context_line":"        if metaquery:"},{"line_number":168,"context_line":"            for key in data.iterkeys():"}],"source_content_type":"text/x-python","patch_set":4,"id":"9aa7fdbe_9950dbd5","line":165,"in_reply_to":"9aa7fdbe_8515d6e6","updated":"2014-10-23 12:37:44.000000000","message":"Done","commit_id":"41b98fd0cbba8c916a7c40b8332e8ee6732a1e68"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"91565c229e90b637b92e73e353a1a5510b5fe045","unresolved":false,"context_lines":[{"line_number":165,"context_line":"    \"\"\""},{"line_number":166,"context_line":"    if isinstance(data, dict):"},{"line_number":167,"context_line":"        if metaquery:"},{"line_number":168,"context_line":"            for key in data.iterkeys():"},{"line_number":169,"context_line":"                if \u0027.$\u0027 in key:"},{"line_number":170,"context_line":"                    key_list \u003d []"},{"line_number":171,"context_line":"                    for k in key.split(\u0027.\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9aa7fdbe_65e55237","line":168,"updated":"2014-10-23 09:46:52.000000000","message":"shouldn\u0027t we find \u0027.\u0027 OR \u0027$\u0027?","commit_id":"41b98fd0cbba8c916a7c40b8332e8ee6732a1e68"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"ca4ce1fc0a742ec82f23bf8849f6e52172de8889","unresolved":false,"context_lines":[{"line_number":165,"context_line":"    \"\"\""},{"line_number":166,"context_line":"    if isinstance(data, dict):"},{"line_number":167,"context_line":"        if metaquery:"},{"line_number":168,"context_line":"            for key in data.iterkeys():"},{"line_number":169,"context_line":"                if \u0027.$\u0027 in key:"},{"line_number":170,"context_line":"                    key_list \u003d []"},{"line_number":171,"context_line":"                    for k in key.split(\u0027.\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9aa7fdbe_d9da634b","line":168,"in_reply_to":"9aa7fdbe_65e55237","updated":"2014-10-23 12:37:44.000000000","message":"No we don\u0027t. This branch of the function is used for improvement of the metaquery in get_functions were we receive query with \u0027$\u0027 and dots and will need to quote only \u0027$\u0027, dot in query are nodes of stored tree.","commit_id":"41b98fd0cbba8c916a7c40b8332e8ee6732a1e68"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"91565c229e90b637b92e73e353a1a5510b5fe045","unresolved":false,"context_lines":[{"line_number":167,"context_line":"        if metaquery:"},{"line_number":168,"context_line":"            for key in data.iterkeys():"},{"line_number":169,"context_line":"                if \u0027.$\u0027 in key:"},{"line_number":170,"context_line":"                    key_list \u003d []"},{"line_number":171,"context_line":"                    for k in key.split(\u0027.\u0027):"},{"line_number":172,"context_line":"                        if k.startswith(\u0027$\u0027):"},{"line_number":173,"context_line":"                            k \u003d parse.quote(k)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9aa7fdbe_85715646","line":170,"updated":"2014-10-23 09:46:52.000000000","message":"Could you please try to make it more simple? E.g. the next 3 lines and 184-187 may be extracted. It\u0027s rather hard to understand what\u0027s going on here. It\u0027s better to create more methods with simple logic and simple names (arguable, of course, maybe it\u0027s not true-python way :))","commit_id":"41b98fd0cbba8c916a7c40b8332e8ee6732a1e68"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"ca4ce1fc0a742ec82f23bf8849f6e52172de8889","unresolved":false,"context_lines":[{"line_number":167,"context_line":"        if metaquery:"},{"line_number":168,"context_line":"            for key in data.iterkeys():"},{"line_number":169,"context_line":"                if \u0027.$\u0027 in key:"},{"line_number":170,"context_line":"                    key_list \u003d []"},{"line_number":171,"context_line":"                    for k in key.split(\u0027.\u0027):"},{"line_number":172,"context_line":"                        if k.startswith(\u0027$\u0027):"},{"line_number":173,"context_line":"                            k \u003d parse.quote(k)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9aa7fdbe_b9067f84","line":170,"in_reply_to":"9aa7fdbe_85715646","updated":"2014-10-23 12:37:44.000000000","message":"will try to propose some refactor for that part.","commit_id":"41b98fd0cbba8c916a7c40b8332e8ee6732a1e68"}],"ceilometer/tests/api/v2/test_list_meters_scenarios.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"6d31e6b111ad3e6eba8db5197ce72c6009b8a45c","unresolved":false,"context_lines":[{"line_number":310,"context_line":"        self.assertEqual(1, len(data))"},{"line_number":311,"context_line":"        self.assertEqual(\u0027resource-id4\u0027, data[0][\u0027resource_id\u0027])"},{"line_number":312,"context_line":"        metadata \u003d data[0][\u0027resource_metadata\u0027]"},{"line_number":313,"context_line":"        self.assertIsNotNone(metadata)"},{"line_number":314,"context_line":"        self.assertEqual(\u0027self.sample4\u0027, metadata[\u0027tag\u0027])"},{"line_number":315,"context_line":"        self.assertEqual(\u0027prop_value\u0027, metadata[\u0027properties.prop_1\u0027])"},{"line_number":316,"context_line":"        self.assertEqual(\u0027sub_prop_value\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a890539_eb023671","line":313,"updated":"2014-11-28 15:19:21.000000000","message":"This is actually not very needed","commit_id":"ed905172ed5e4993c016c45747eed4232762e07f"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"77258342eb8efc4bbda883b60118cb2ebb1f8479","unresolved":false,"context_lines":[{"line_number":310,"context_line":"        self.assertEqual(1, len(data))"},{"line_number":311,"context_line":"        self.assertEqual(\u0027resource-id4\u0027, data[0][\u0027resource_id\u0027])"},{"line_number":312,"context_line":"        metadata \u003d data[0][\u0027resource_metadata\u0027]"},{"line_number":313,"context_line":"        self.assertIsNotNone(metadata)"},{"line_number":314,"context_line":"        self.assertEqual(\u0027self.sample4\u0027, metadata[\u0027tag\u0027])"},{"line_number":315,"context_line":"        self.assertEqual(\u0027prop_value\u0027, metadata[\u0027properties.prop_1\u0027])"},{"line_number":316,"context_line":"        self.assertEqual(\u0027sub_prop_value\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a890539_88e5190c","line":313,"in_reply_to":"5a890539_eb023671","updated":"2014-12-01 13:44:51.000000000","message":"that assert was duplicated from previous test. Probably that part of the test is not very needed but it is not redundant, so let it be here.","commit_id":"ed905172ed5e4993c016c45747eed4232762e07f"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"6d31e6b111ad3e6eba8db5197ce72c6009b8a45c","unresolved":false,"context_lines":[{"line_number":373,"context_line":"                          u\u0027is_public\u0027: u\u0027True\u0027,"},{"line_number":374,"context_line":"                          u\u0027size\u0027: u\u00270\u0027,"},{"line_number":375,"context_line":"                          u\u0027properties.prop:3:$sub_prop:2\u0027:"},{"line_number":376,"context_line":"                                                u\u0027sub_prop_value2\u0027,"},{"line_number":377,"context_line":"                          }"},{"line_number":378,"context_line":"        }], data)"},{"line_number":379,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5a890539_eb2956f3","line":376,"updated":"2014-11-28 15:19:21.000000000","message":"the indentation looks a bit odd, how about put `display_name` to a new line, then it is only 70 characters, and the dictionary will looks more pretty","commit_id":"ed905172ed5e4993c016c45747eed4232762e07f"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"77258342eb8efc4bbda883b60118cb2ebb1f8479","unresolved":false,"context_lines":[{"line_number":373,"context_line":"                          u\u0027is_public\u0027: u\u0027True\u0027,"},{"line_number":374,"context_line":"                          u\u0027size\u0027: u\u00270\u0027,"},{"line_number":375,"context_line":"                          u\u0027properties.prop:3:$sub_prop:2\u0027:"},{"line_number":376,"context_line":"                                                u\u0027sub_prop_value2\u0027,"},{"line_number":377,"context_line":"                          }"},{"line_number":378,"context_line":"        }], data)"},{"line_number":379,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5a890539_a8e015f9","line":376,"in_reply_to":"5a890539_eb2956f3","updated":"2014-12-01 13:44:51.000000000","message":"agree, will improve.","commit_id":"ed905172ed5e4993c016c45747eed4232762e07f"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"5c7a4ee315792173365a48fae3597ce923a6034a","unresolved":false,"context_lines":[{"line_number":373,"context_line":"                u\u0027properties.prop_1\u0027: u\u0027prop_value\u0027,"},{"line_number":374,"context_line":"                u\u0027is_public\u0027: u\u0027True\u0027,"},{"line_number":375,"context_line":"                u\u0027size\u0027: u\u00270\u0027,"},{"line_number":376,"context_line":"                u\u0027properties.prop:3:$sub_prop:2\u0027: u\u0027sub_prop_value2\u0027,"},{"line_number":377,"context_line":"            }"},{"line_number":378,"context_line":"        }], data)"},{"line_number":379,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_c952bd34","line":376,"updated":"2014-12-01 17:50:46.000000000","message":"According to the sample data this should be u\u0027properties.prop.3:$sub_prop.2\u0027:... or am I missing something?","commit_id":"f379b96dd2a301d1cfa70562454ec957d8341125"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"022d8d722bb710b27a8fe99f7d84ac1eadd78184","unresolved":false,"context_lines":[{"line_number":373,"context_line":"                u\u0027properties.prop_1\u0027: u\u0027prop_value\u0027,"},{"line_number":374,"context_line":"                u\u0027is_public\u0027: u\u0027True\u0027,"},{"line_number":375,"context_line":"                u\u0027size\u0027: u\u00270\u0027,"},{"line_number":376,"context_line":"                u\u0027properties.prop:3:$sub_prop:2\u0027: u\u0027sub_prop_value2\u0027,"},{"line_number":377,"context_line":"            }"},{"line_number":378,"context_line":"        }], data)"},{"line_number":379,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_f9b650f8","line":376,"in_reply_to":"5a890539_c952bd34","updated":"2014-12-02 10:52:42.000000000","message":"Yep, you have missed that api returns metadata with the function https://github.com/openstack/ceilometer/blob/master/ceilometer/api/controllers/v2.py#L643, so all dots except first are replaced with colons.","commit_id":"f379b96dd2a301d1cfa70562454ec957d8341125"}],"ceilometer/tests/api/v2/test_list_resources_scenarios.py":[{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"5c7a4ee315792173365a48fae3597ce923a6034a","unresolved":false,"context_lines":[{"line_number":461,"context_line":"            timestamp\u003ddatetime.datetime(2012, 7, 2, 10, 40),"},{"line_number":462,"context_line":"            resource_metadata\u003d{\u0027display_name\u0027: \u0027test-server\u0027,"},{"line_number":463,"context_line":"                               \u0027tag\u0027: \u0027self.sample\u0027,"},{"line_number":464,"context_line":"                               \u0027dict_properties\u0027: {\u0027key.$1\u0027: {\u0027$key\u0027: \u0027val\u0027}},"},{"line_number":465,"context_line":"                               \u0027not_ignored_list\u0027: [\u0027returned\u0027],"},{"line_number":466,"context_line":"                               },"},{"line_number":467,"context_line":"            source\u003d\u0027test\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_8c3443e0","line":464,"updated":"2014-12-01 17:50:46.000000000","message":"Is this shorter here because of the line length constraint?","commit_id":"f379b96dd2a301d1cfa70562454ec957d8341125"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"022d8d722bb710b27a8fe99f7d84ac1eadd78184","unresolved":false,"context_lines":[{"line_number":461,"context_line":"            timestamp\u003ddatetime.datetime(2012, 7, 2, 10, 40),"},{"line_number":462,"context_line":"            resource_metadata\u003d{\u0027display_name\u0027: \u0027test-server\u0027,"},{"line_number":463,"context_line":"                               \u0027tag\u0027: \u0027self.sample\u0027,"},{"line_number":464,"context_line":"                               \u0027dict_properties\u0027: {\u0027key.$1\u0027: {\u0027$key\u0027: \u0027val\u0027}},"},{"line_number":465,"context_line":"                               \u0027not_ignored_list\u0027: [\u0027returned\u0027],"},{"line_number":466,"context_line":"                               },"},{"line_number":467,"context_line":"            source\u003d\u0027test\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_39cb784b","line":464,"in_reply_to":"5a890539_8c3443e0","updated":"2014-12-02 10:52:42.000000000","message":":) yes, for sure.","commit_id":"f379b96dd2a301d1cfa70562454ec957d8341125"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"5c7a4ee315792173365a48fae3597ce923a6034a","unresolved":false,"context_lines":[{"line_number":474,"context_line":""},{"line_number":475,"context_line":"        data \u003d self.get_json(\u0027/resources\u0027)"},{"line_number":476,"context_line":"        metadata \u003d data[0][\u0027metadata\u0027]"},{"line_number":477,"context_line":"        self.assertEqual([(u\u0027dict_properties.key:$1:$key\u0027, u\u0027val\u0027),"},{"line_number":478,"context_line":"                          (u\u0027display_name\u0027, u\u0027test-server\u0027),"},{"line_number":479,"context_line":"                          (u\u0027not_ignored_list\u0027, u\"[\u0027returned\u0027]\"),"},{"line_number":480,"context_line":"                          (u\u0027tag\u0027, u\u0027self.sample\u0027)],"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_0c7773a0","line":477,"updated":"2014-12-01 17:50:46.000000000","message":"It also looks odd here to have \u0027key:$1\u0027 instead of \u0027key.$1\u0027.","commit_id":"f379b96dd2a301d1cfa70562454ec957d8341125"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"022d8d722bb710b27a8fe99f7d84ac1eadd78184","unresolved":false,"context_lines":[{"line_number":474,"context_line":""},{"line_number":475,"context_line":"        data \u003d self.get_json(\u0027/resources\u0027)"},{"line_number":476,"context_line":"        metadata \u003d data[0][\u0027metadata\u0027]"},{"line_number":477,"context_line":"        self.assertEqual([(u\u0027dict_properties.key:$1:$key\u0027, u\u0027val\u0027),"},{"line_number":478,"context_line":"                          (u\u0027display_name\u0027, u\u0027test-server\u0027),"},{"line_number":479,"context_line":"                          (u\u0027not_ignored_list\u0027, u\"[\u0027returned\u0027]\"),"},{"line_number":480,"context_line":"                          (u\u0027tag\u0027, u\u0027self.sample\u0027)],"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_1925dc09","line":477,"in_reply_to":"5a890539_0c7773a0","updated":"2014-12-02 10:52:42.000000000","message":"the answer is the same as for your first question! Such output of nested dict in metadata is specified in api.controller.v2 (https://github.com/openstack/ceilometer/blob/master/ceilometer/api/controllers/v2.py#L643)","commit_id":"f379b96dd2a301d1cfa70562454ec957d8341125"}],"ceilometer/tests/storage/test_storage_scenarios.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"6d31e6b111ad3e6eba8db5197ce72c6009b8a45c","unresolved":false,"context_lines":[{"line_number":725,"context_line":"        self.conn.clear_expired_metering_data(5)"},{"line_number":726,"context_line":"        f \u003d storage.SampleFilter(meter\u003d\u0027instance\u0027)"},{"line_number":727,"context_line":"        results \u003d list(self.conn.get_samples(f))"},{"line_number":728,"context_line":"        self.assertEqual(len(results), 2)"},{"line_number":729,"context_line":"        results \u003d list(self.conn.get_resources())"},{"line_number":730,"context_line":"        self.assertEqual(len(results), 2)"},{"line_number":731,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5a890539_ebdb161f","line":728,"updated":"2014-11-28 15:19:21.000000000","message":"-1: why do this bad switch?","commit_id":"ed905172ed5e4993c016c45747eed4232762e07f"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"b9678b646091ee4066b9a19be7c7b47ac26a292b","unresolved":false,"context_lines":[{"line_number":725,"context_line":"        self.conn.clear_expired_metering_data(5)"},{"line_number":726,"context_line":"        f \u003d storage.SampleFilter(meter\u003d\u0027instance\u0027)"},{"line_number":727,"context_line":"        results \u003d list(self.conn.get_samples(f))"},{"line_number":728,"context_line":"        self.assertEqual(len(results), 2)"},{"line_number":729,"context_line":"        results \u003d list(self.conn.get_resources())"},{"line_number":730,"context_line":"        self.assertEqual(len(results), 2)"},{"line_number":731,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5a890539_a8757534","line":728,"in_reply_to":"5a890539_ebdb161f","updated":"2014-12-01 13:48:36.000000000","message":"I\u0027ve missed that while last rebase merging issue. Thanks for catching that.","commit_id":"ed905172ed5e4993c016c45747eed4232762e07f"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"415a8a6e57bdebfffdacebb97438fac2175e357a","unresolved":false,"context_lines":[{"line_number":3276,"context_line":"    def prepare_data(self):"},{"line_number":3277,"context_line":"        self.msgs \u003d []"},{"line_number":3278,"context_line":"        self.msgs.append(self.create_and_store_sample("},{"line_number":3279,"context_line":"            name\u003du\u0027meter.accent\\xe9\\u0437\u0027,"},{"line_number":3280,"context_line":"            metadata\u003d{u\"metadata_key\\xe9\\u0437\": \"test\","},{"line_number":3281,"context_line":"                      u\"metadata_key\": u\"test\\xe9\\u0437\"},"},{"line_number":3282,"context_line":"        ))"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_3aa7d80c","line":3279,"updated":"2014-12-02 18:19:47.000000000","message":"I;ve see this in many place but never know that it means (google translate can\u0027t too), it prints \"é?\" in my screen","commit_id":"f379b96dd2a301d1cfa70562454ec957d8341125"}]}
