)]}'
{"ceilometerclient/common/utils.py":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"47c7e9ee84bc081af68aa9678dac2a881b2a759d","unresolved":false,"context_lines":[{"line_number":78,"context_line":"    pt \u003d prettytable.PrettyTable(caching\u003dFalse, print_empty\u003dFalse,"},{"line_number":79,"context_line":"                                 header\u003dFalse, hrules\u003dprettytable.FRAME)"},{"line_number":80,"context_line":"    for k, v in six.iteritems(d):"},{"line_number":81,"context_line":"        if type(v) is not dict:"},{"line_number":82,"context_line":"            pt.add_row([k, v])"},{"line_number":83,"context_line":"        else:"},{"line_number":84,"context_line":"            pt.add_row([k, format_nested_dict(v)])"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2h8%3D","line":81,"updated":"2014-01-07 17:29:36.000000000","message":"Clearer as:\n\n  if not isinstance(v, dict):\n      pt.add_row([k, v])\n  else:\n      pt.add_row([k, format_nested_dict(v)])\n\nor even just:\n\n  pt.add_row([k, format_nested_dict(v) if isinstance(v, dict) else v])\n\nbut definitely from a stylistic perspective I prefer isinstance to direct type comparison.","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"936e3e87fb5458fc57cdd5716259396f480a76ec","unresolved":false,"context_lines":[{"line_number":78,"context_line":"    pt \u003d prettytable.PrettyTable(caching\u003dFalse, print_empty\u003dFalse,"},{"line_number":79,"context_line":"                                 header\u003dFalse, hrules\u003dprettytable.FRAME)"},{"line_number":80,"context_line":"    for k, v in six.iteritems(d):"},{"line_number":81,"context_line":"        if type(v) is not dict:"},{"line_number":82,"context_line":"            pt.add_row([k, v])"},{"line_number":83,"context_line":"        else:"},{"line_number":84,"context_line":"            pt.add_row([k, format_nested_dict(v)])"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2P4%3D","line":81,"in_reply_to":"AAAAUH%2F%2F2h8%3D","updated":"2014-01-07 19:13:06.000000000","message":"Done","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":7368,"name":"Thomas Maddox","email":"me@thomasem.net","username":"thomasm"},"change_message_id":"c8cc54d35a70722783d1e5099b8329430e959671","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                                 header\u003dFalse, hrules\u003dprettytable.FRAME)"},{"line_number":80,"context_line":"    for k, v in six.iteritems(d):"},{"line_number":81,"context_line":"        pt.add_row([k, format_nested_dict(v) if isinstance(v, dict) else v])"},{"line_number":82,"context_line":"    return pt.get_string()"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"def print_dict(d, dict_property\u003d\"Property\", wrap\u003d0):"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUH%2F%2Fyjg%3D","line":82,"updated":"2014-01-08 12:50:45.000000000","message":"So... what were your thoughts on the formatting for this? IIRC I wrote this to handle the traits that are returned on an events query.","commit_id":"be3181f8c3559421f6707665d8defa3288c32999"}],"ceilometerclient/openstack/common/cliutils.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"5eabc0178f189e2e529453b474f26a64b0533fdb","unresolved":false,"context_lines":[{"line_number":146,"context_line":"        kwargs \u003d {\u0027sortby\u0027: fields[sortby_index]}"},{"line_number":147,"context_line":"    pt \u003d prettytable.PrettyTable(fields, caching\u003dFalse)"},{"line_number":148,"context_line":"    pt.align \u003d \u0027l\u0027"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    for o in objs:"},{"line_number":151,"context_line":"        row \u003d []"},{"line_number":152,"context_line":"        for field in fields:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F80i4%3D","side":"PARENT","line":149,"updated":"2013-12-19 23:14:08.000000000","message":"Dude you cannot do that!","commit_id":"5ce4a4b9a170f74aa5c198555594887cfa87fa85"}],"ceilometerclient/tests/v2/test_alarms.py":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"47c7e9ee84bc081af68aa9678dac2a881b2a759d","unresolved":false,"context_lines":[{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    },"},{"line_number":191,"context_line":"    \u0027/v2/alarms?q.field\u003dproject_id\u0026q.field\u003dname\u0026q.op\u003d\u0026q.op\u003d\u0027"},{"line_number":192,"context_line":"    \u0027\u0026q.type\u003d\u0026q.type\u003d\u0026q.value\u003dproject-id\u0026q.value\u003dSwiftObjectAlarm\u0027:"},{"line_number":193,"context_line":"    {"},{"line_number":194,"context_line":"        \u0027GET\u0027: ("},{"line_number":195,"context_line":"            {},"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2f4%3D","line":192,"updated":"2014-01-07 17:29:36.000000000","message":"Is that a typo?\n\n(or has null setting for q.type become required?)\n\nSeems to make an already laborious URL format even denser and more difficult to read.","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"936e3e87fb5458fc57cdd5716259396f480a76ec","unresolved":false,"context_lines":[{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    },"},{"line_number":191,"context_line":"    \u0027/v2/alarms?q.field\u003dproject_id\u0026q.field\u003dname\u0026q.op\u003d\u0026q.op\u003d\u0027"},{"line_number":192,"context_line":"    \u0027\u0026q.type\u003d\u0026q.type\u003d\u0026q.value\u003dproject-id\u0026q.value\u003dSwiftObjectAlarm\u0027:"},{"line_number":193,"context_line":"    {"},{"line_number":194,"context_line":"        \u0027GET\u0027: ("},{"line_number":195,"context_line":"            {},"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2YU%3D","line":192,"in_reply_to":"AAAAUH%2F%2F2f4%3D","updated":"2014-01-07 19:13:06.000000000","message":"no, not a typo. I was just planning to add this type param to the event queries, but sileht asked me to add it to all queries. Now the client will set the type to null when it isn\u0027t specified on the command line. The api will handle this.","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"}],"ceilometerclient/tests/v2/test_event_types.py":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"47c7e9ee84bc081af68aa9678dac2a881b2a759d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# -*- encoding: utf-8 -*-"},{"line_number":2,"context_line":"# Copyright 2013 Hewlett-Packard Development Company, L.P."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":5,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2fg%3D","line":2,"updated":"2014-01-07 17:29:36.000000000","message":"s/2013/2014/\n\nYeah, I know, the patch has been in the review queue since before the New Year :)","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"936e3e87fb5458fc57cdd5716259396f480a76ec","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# -*- encoding: utf-8 -*-"},{"line_number":2,"context_line":"# Copyright 2013 Hewlett-Packard Development Company, L.P."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":5,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2Pk%3D","line":2,"in_reply_to":"AAAAUH%2F%2F2fg%3D","updated":"2014-01-07 19:13:06.000000000","message":"Done","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"47c7e9ee84bc081af68aa9678dac2a881b2a759d","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        ]"},{"line_number":42,"context_line":"        self.assertEqual(self.api.calls, expect)"},{"line_number":43,"context_line":"        self.assertEqual(len(event_types), 4)"},{"line_number":44,"context_line":"        self.assertEqual(event_types[0].event_type, \"Foo\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2e0%3D","line":44,"updated":"2014-01-07 17:29:36.000000000","message":"Why not go the whole hog and assert for all 4 event types instead of just the first?","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"936e3e87fb5458fc57cdd5716259396f480a76ec","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        ]"},{"line_number":42,"context_line":"        self.assertEqual(self.api.calls, expect)"},{"line_number":43,"context_line":"        self.assertEqual(len(event_types), 4)"},{"line_number":44,"context_line":"        self.assertEqual(event_types[0].event_type, \"Foo\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2Po%3D","line":44,"in_reply_to":"AAAAUH%2F%2F2e0%3D","updated":"2014-01-07 19:13:06.000000000","message":"Done","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"}],"ceilometerclient/tests/v2/test_events.py":[{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"936e3e87fb5458fc57cdd5716259396f480a76ec","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# -*- encoding: utf-8 -*-"},{"line_number":2,"context_line":"# Copyright 2013 Hewlett-Packard Development Company, L.P."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":5,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2Pg%3D","line":2,"updated":"2014-01-07 19:13:06.000000000","message":"2014","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"47c7e9ee84bc081af68aa9678dac2a881b2a759d","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                    \u0027event_type\u0027: \u0027Foo\u0027,"},{"line_number":75,"context_line":"                    \u0027generated\u0027: \u00271970-01-01T00:00:00\u0027,"},{"line_number":76,"context_line":"                    \u0027traits\u0027: {\u0027trait_A\u0027: \u0027abc\u0027,"},{"line_number":77,"context_line":"                               \u0027hostname\u0027: \u0027localhost\u0027,"},{"line_number":78,"context_line":"                               \u0027message_id\u0027: \u00271\u0027},"},{"line_number":79,"context_line":"                },"},{"line_number":80,"context_line":"                {"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2c0%3D","line":77,"updated":"2014-01-07 17:29:36.000000000","message":"s/localhost/foreignhost/","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"936e3e87fb5458fc57cdd5716259396f480a76ec","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                    \u0027event_type\u0027: \u0027Foo\u0027,"},{"line_number":75,"context_line":"                    \u0027generated\u0027: \u00271970-01-01T00:00:00\u0027,"},{"line_number":76,"context_line":"                    \u0027traits\u0027: {\u0027trait_A\u0027: \u0027abc\u0027,"},{"line_number":77,"context_line":"                               \u0027hostname\u0027: \u0027localhost\u0027,"},{"line_number":78,"context_line":"                               \u0027message_id\u0027: \u00271\u0027},"},{"line_number":79,"context_line":"                },"},{"line_number":80,"context_line":"                {"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2PU%3D","line":77,"in_reply_to":"AAAAUH%2F%2F2c0%3D","updated":"2014-01-07 19:13:06.000000000","message":"Done","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"47c7e9ee84bc081af68aa9678dac2a881b2a759d","unresolved":false,"context_lines":[{"line_number":81,"context_line":"                    \u0027event_type\u0027: \u0027Foo\u0027,"},{"line_number":82,"context_line":"                    \u0027generated\u0027: \u00271970-01-01T00:00:00\u0027,"},{"line_number":83,"context_line":"                    \u0027traits\u0027: {\u0027trait_A\u0027: \u0027def\u0027,"},{"line_number":84,"context_line":"                               \u0027hostname\u0027: \u0027localhost\u0027,"},{"line_number":85,"context_line":"                               \u0027message_id\u0027: \u00272\u0027},"},{"line_number":86,"context_line":"                }"},{"line_number":87,"context_line":"            ]"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2cw%3D","line":84,"updated":"2014-01-07 17:29:36.000000000","message":"s/localhost/foreignhost/","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"936e3e87fb5458fc57cdd5716259396f480a76ec","unresolved":false,"context_lines":[{"line_number":81,"context_line":"                    \u0027event_type\u0027: \u0027Foo\u0027,"},{"line_number":82,"context_line":"                    \u0027generated\u0027: \u00271970-01-01T00:00:00\u0027,"},{"line_number":83,"context_line":"                    \u0027traits\u0027: {\u0027trait_A\u0027: \u0027def\u0027,"},{"line_number":84,"context_line":"                               \u0027hostname\u0027: \u0027localhost\u0027,"},{"line_number":85,"context_line":"                               \u0027message_id\u0027: \u00272\u0027},"},{"line_number":86,"context_line":"                }"},{"line_number":87,"context_line":"            ]"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2PQ%3D","line":84,"in_reply_to":"AAAAUH%2F%2F2cw%3D","updated":"2014-01-07 19:13:06.000000000","message":"Done","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"}],"ceilometerclient/tests/v2/test_samples.py":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"10bcb574dc446d43e5ff060a58a5ab0453d39ec5","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"base_url \u003d \u0027/v2/meters/instance\u0027"},{"line_number":38,"context_line":"args \u003d \u0027q.field\u003dresource_id\u0026q.field\u003dsource\u0026q.op\u003d\u0026q.op\u003d\u0027 \\"},{"line_number":39,"context_line":"       \u0027\u0026q.type\u003d\u0026q.type\u003d\u0026q.value\u003dfoo\u0026q.value\u003dbar\u0027"},{"line_number":40,"context_line":"args_limit \u003d \u0027limit\u003d1\u0027"},{"line_number":41,"context_line":"fixtures \u003d {"},{"line_number":42,"context_line":"    base_url:"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2YM%3D","line":39,"updated":"2014-01-07 17:53:06.000000000","message":"/me is not a fan of the continuation character ... clearer as:\n\n  args \u003d (\u0027q.field\u003dresource_id\u0026q.field\u003dsource\u0026q.op\u003d\u0026q.op\u003d\u0027\n          \u0027\u0026q.type\u003d\u0026q.type\u003d\u0026q.value\u003dfoo\u0026q.value\u003dbar\u0027)","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"936e3e87fb5458fc57cdd5716259396f480a76ec","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"base_url \u003d \u0027/v2/meters/instance\u0027"},{"line_number":38,"context_line":"args \u003d \u0027q.field\u003dresource_id\u0026q.field\u003dsource\u0026q.op\u003d\u0026q.op\u003d\u0027 \\"},{"line_number":39,"context_line":"       \u0027\u0026q.type\u003d\u0026q.type\u003d\u0026q.value\u003dfoo\u0026q.value\u003dbar\u0027"},{"line_number":40,"context_line":"args_limit \u003d \u0027limit\u003d1\u0027"},{"line_number":41,"context_line":"fixtures \u003d {"},{"line_number":42,"context_line":"    base_url:"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2Ok%3D","line":39,"in_reply_to":"AAAAUH%2F%2F2YM%3D","updated":"2014-01-07 19:13:06.000000000","message":"Done","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"}],"ceilometerclient/tests/v2/test_statistics.py":[{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"936e3e87fb5458fc57cdd5716259396f480a76ec","unresolved":false,"context_lines":[{"line_number":17,"context_line":"import ceilometerclient.v2.statistics"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"base_url \u003d \u0027/v2/meters/instance/statistics\u0027"},{"line_number":20,"context_line":"qry \u003d \u0027q.field\u003dresource_id\u0026q.field\u003dsource\u0026q.op\u003d\u0026q.op\u003d\u0027 \\"},{"line_number":21,"context_line":"      \u0027\u0026q.type\u003d\u0026q.type\u003d\u0026q.value\u003dfoo\u0026q.value\u003dbar\u0027"},{"line_number":22,"context_line":"period \u003d \u0027\u0026period\u003d60\u0027"},{"line_number":23,"context_line":"samples \u003d ["}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2OQ%3D","line":20,"updated":"2014-01-07 19:13:06.000000000","message":"change to () instead of \\","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"}],"ceilometerclient/v2/client.py":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"10bcb574dc446d43e5ff060a58a5ab0453d39ec5","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        self.traits \u003d traits.TraitManager(self)"},{"line_number":47,"context_line":"        self.events \u003d events.EventManager(self)"},{"line_number":48,"context_line":"        self.event_types \u003d event_types.EventTypeManager(self)"},{"line_number":49,"context_line":"        self.trait_info \u003d trait_info.TraitInfoManager(self)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2UM%3D","line":49,"updated":"2014-01-07 17:53:06.000000000","message":"Nitpick: slightly clearer when ordered as ...\n\n    self.events \u003d events.EventManager(self)\n    self.event_types \u003d event_types.EventTypeManager(self)\n    self.traits \u003d traits.TraitManager(self)\n    self.trait_info \u003d trait_info.TraitInfoManager(self)","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"936e3e87fb5458fc57cdd5716259396f480a76ec","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        self.traits \u003d traits.TraitManager(self)"},{"line_number":47,"context_line":"        self.events \u003d events.EventManager(self)"},{"line_number":48,"context_line":"        self.event_types \u003d event_types.EventTypeManager(self)"},{"line_number":49,"context_line":"        self.trait_info \u003d trait_info.TraitInfoManager(self)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2OE%3D","line":49,"in_reply_to":"AAAAUH%2F%2F2UM%3D","updated":"2014-01-07 19:13:06.000000000","message":"Done","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"}],"ceilometerclient/v2/event_types.py":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"10bcb574dc446d43e5ff060a58a5ab0453d39ec5","unresolved":false,"context_lines":[{"line_number":21,"context_line":"        return \"\u003cEvent %s\u003e\" % self._info"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"def object_class_str(mgr, value, loaded\u003dFalse):"},{"line_number":25,"context_line":"    return EventType(mgr, {\"event_type\": value}, loaded)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2UU%3D","line":24,"updated":"2014-01-07 17:53:06.000000000","message":"Why is loaded a kwarg?\n\nIs object_class_str called somewhere else with loaded\u003dTrue?\n\nOtherwise can we just remove loaded from the method signature and constantly pass False to the EventType ctor?","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"faaee0292e140762d404a6a30f2e21c442109ed9","unresolved":false,"context_lines":[{"line_number":21,"context_line":"        return \"\u003cEvent %s\u003e\" % self._info"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"def object_class_str(mgr, value, loaded\u003dFalse):"},{"line_number":25,"context_line":"    return EventType(mgr, {\"event_type\": value}, loaded)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F16A%3D","line":24,"in_reply_to":"AAAAUH%2F%2F2N4%3D","updated":"2014-01-07 19:59:51.000000000","message":"A-ha, got it, missed that one. Well, in that case the kwarg usage is fine I think.","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"936e3e87fb5458fc57cdd5716259396f480a76ec","unresolved":false,"context_lines":[{"line_number":21,"context_line":"        return \"\u003cEvent %s\u003e\" % self._info"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"def object_class_str(mgr, value, loaded\u003dFalse):"},{"line_number":25,"context_line":"    return EventType(mgr, {\"event_type\": value}, loaded)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2N4%3D","line":24,"in_reply_to":"AAAAUH%2F%2F2UU%3D","updated":"2014-01-07 19:13:06.000000000","message":"object_class_str is called here: https://github.com/openstack/python-ceilometerclient/blob/master/ceilometerclient/common/base.py#L72\n\n_list calls with loaded\u003dTrue. Maybe the signature should just be \ndef object_class_str(mgr, value, loaded)","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"}],"ceilometerclient/v2/options.py":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"6dfba6eea82c19721cf0ebb404095c2ab8bd2a7c","unresolved":false,"context_lines":[{"line_number":30,"context_line":"                        \u0027q.value\u0027: [],"},{"line_number":31,"context_line":"                        \u0027q.op\u0027: []}"},{"line_number":32,"context_line":"        if with_data_type:"},{"line_number":33,"context_line":"            query_params[\u0027q.type\u0027] \u003d []"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        for query in q:"},{"line_number":36,"context_line":"            for name in [\u0027field\u0027, \u0027op\u0027, \u0027value\u0027]:"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F8zOs%3D","line":33,"updated":"2013-12-20 08:17:27.000000000","message":"You don\u0027t have to make a special case for d.type. Just add it the query_params like other field, by default it will be a empty string that have the same effect as not present. And the default must be empty string too, not \u0027string\u0027.","commit_id":"e44a6302f60cbf60730964d2a0c4584f199f0136"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"bb0e072c21114fb9f0490ab7bb12d5cca26a89a3","unresolved":false,"context_lines":[{"line_number":30,"context_line":"                        \u0027q.value\u0027: [],"},{"line_number":31,"context_line":"                        \u0027q.op\u0027: []}"},{"line_number":32,"context_line":"        if with_data_type:"},{"line_number":33,"context_line":"            query_params[\u0027q.type\u0027] \u003d []"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        for query in q:"},{"line_number":36,"context_line":"            for name in [\u0027field\u0027, \u0027op\u0027, \u0027value\u0027]:"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F8vwo%3D","line":33,"in_reply_to":"AAAATn%2F8zOs%3D","updated":"2013-12-20 19:34:27.000000000","message":"Done","commit_id":"e44a6302f60cbf60730964d2a0c4584f199f0136"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"6dfba6eea82c19721cf0ebb404095c2ab8bd2a7c","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    a query as:"},{"line_number":67,"context_line":"    \"hostname\u003dstring::localhost\". The result will be:"},{"line_number":68,"context_line":"    [{field\u003dhostname, op\u003deq, value\u003dlocalhost, type\u003dstring}]."},{"line_number":69,"context_line":"    If no data type is specified in the parameter, string will be assumed."},{"line_number":70,"context_line":"    \"\"\""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    if cli_query is None:"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F8zOo%3D","line":69,"updated":"2013-12-20 08:17:27.000000000","message":"The previous default was autodetection of the type by server, we must keep that.","commit_id":"e44a6302f60cbf60730964d2a0c4584f199f0136"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"bb0e072c21114fb9f0490ab7bb12d5cca26a89a3","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    a query as:"},{"line_number":67,"context_line":"    \"hostname\u003dstring::localhost\". The result will be:"},{"line_number":68,"context_line":"    [{field\u003dhostname, op\u003deq, value\u003dlocalhost, type\u003dstring}]."},{"line_number":69,"context_line":"    If no data type is specified in the parameter, string will be assumed."},{"line_number":70,"context_line":"    \"\"\""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    if cli_query is None:"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F8vwM%3D","line":69,"in_reply_to":"AAAATn%2F8zOo%3D","updated":"2013-12-20 19:34:27.000000000","message":"Done","commit_id":"e44a6302f60cbf60730964d2a0c4584f199f0136"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"6dfba6eea82c19721cf0ebb404095c2ab8bd2a7c","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        opt[\u0027op\u0027] \u003d op_lookup[query[1]]"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        # Allow the data type of the value to be specified via \u003ctype\u003e::\u003cvalue\u003e,"},{"line_number":111,"context_line":"        # where type can be one of int, string, float, datetime"},{"line_number":112,"context_line":"        if not with_data_type:"},{"line_number":113,"context_line":"            opt[\u0027value\u0027] \u003d query[2]"},{"line_number":114,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F8y%2FI%3D","line":111,"updated":"2013-12-20 08:17:27.000000000","message":"I like the idea of \u0027::\u0027, if we remove \u0027with_data_type\u0027 it will work for metadata too. :)","commit_id":"e44a6302f60cbf60730964d2a0c4584f199f0136"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"bb0e072c21114fb9f0490ab7bb12d5cca26a89a3","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        opt[\u0027op\u0027] \u003d op_lookup[query[1]]"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        # Allow the data type of the value to be specified via \u003ctype\u003e::\u003cvalue\u003e,"},{"line_number":111,"context_line":"        # where type can be one of int, string, float, datetime"},{"line_number":112,"context_line":"        if not with_data_type:"},{"line_number":113,"context_line":"            opt[\u0027value\u0027] \u003d query[2]"},{"line_number":114,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F8vjw%3D","line":111,"in_reply_to":"AAAATn%2F8y%2FI%3D","updated":"2013-12-20 19:34:27.000000000","message":"Done","commit_id":"e44a6302f60cbf60730964d2a0c4584f199f0136"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"10bcb574dc446d43e5ff060a58a5ab0453d39ec5","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def split_by_data_type(string):"},{"line_number":84,"context_line":"        return re.findall(r\u0027^(string|integer|float|datetime|boolean)(::)\u0027"},{"line_number":85,"context_line":"                          r\u0027([^ -,\\t\\n\\r\\f\\v]+)$\u0027, string)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    opts \u003d []"},{"line_number":88,"context_line":"    queries \u003d cli_query.split(\u0027;\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2Xk%3D","line":85,"updated":"2014-01-07 17:53:06.000000000","message":"Case sensitivity? Allow say String etc?","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"faaee0292e140762d404a6a30f2e21c442109ed9","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def split_by_data_type(string):"},{"line_number":84,"context_line":"        return re.findall(r\u0027^(string|integer|float|datetime|boolean)(::)\u0027"},{"line_number":85,"context_line":"                          r\u0027([^ -,\\t\\n\\r\\f\\v]+)$\u0027, string)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    opts \u003d []"},{"line_number":88,"context_line":"    queries \u003d cli_query.split(\u0027;\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F15I%3D","line":85,"in_reply_to":"AAAAUH%2F%2F2Lk%3D","updated":"2014-01-07 19:59:51.000000000","message":"I was thinking more that for user-friendliness the CLI could be tolerant to mixed or camel-case on the command line, but then convert to lower() before the string is passed to the API.\n\nBut you\u0027re right, that policy would have be applied across the board by the CLI. So fine to leave as is for now.","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"936e3e87fb5458fc57cdd5716259396f480a76ec","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def split_by_data_type(string):"},{"line_number":84,"context_line":"        return re.findall(r\u0027^(string|integer|float|datetime|boolean)(::)\u0027"},{"line_number":85,"context_line":"                          r\u0027([^ -,\\t\\n\\r\\f\\v]+)$\u0027, string)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    opts \u003d []"},{"line_number":88,"context_line":"    queries \u003d cli_query.split(\u0027;\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2Lk%3D","line":85,"in_reply_to":"AAAAUH%2F%2F2Xk%3D","updated":"2014-01-07 19:13:06.000000000","message":"the api server is case sensitive. We can\u0027t change it here unless we change it there. I\u0027d prefer to file that as a defect and fix it in the api first, then change it in the client. Thoughts?","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"10bcb574dc446d43e5ff060a58a5ab0453d39ec5","unresolved":false,"context_lines":[{"line_number":106,"context_line":"            opt[\u0027type\u0027] \u003d \u0027\u0027"},{"line_number":107,"context_line":"        else:"},{"line_number":108,"context_line":"            value_frag \u003d value_frags[0]"},{"line_number":109,"context_line":"            opt[\u0027type\u0027] \u003d value_frag[0]"},{"line_number":110,"context_line":"            opt[\u0027value\u0027] \u003d value_frag[2]"},{"line_number":111,"context_line":"        opts.append(opt)"},{"line_number":112,"context_line":"    return opts"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2XM%3D","line":109,"updated":"2014-01-07 17:53:06.000000000","message":"So frag[1] is the separator \u0027::\u0027 or?\n\nClear to exclude that from the list returned by split_by_data_type?","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"936e3e87fb5458fc57cdd5716259396f480a76ec","unresolved":false,"context_lines":[{"line_number":106,"context_line":"            opt[\u0027type\u0027] \u003d \u0027\u0027"},{"line_number":107,"context_line":"        else:"},{"line_number":108,"context_line":"            value_frag \u003d value_frags[0]"},{"line_number":109,"context_line":"            opt[\u0027type\u0027] \u003d value_frag[0]"},{"line_number":110,"context_line":"            opt[\u0027value\u0027] \u003d value_frag[2]"},{"line_number":111,"context_line":"        opts.append(opt)"},{"line_number":112,"context_line":"    return opts"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2KM%3D","line":109,"in_reply_to":"AAAAUH%2F%2F2XM%3D","updated":"2014-01-07 19:13:06.000000000","message":"Done","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":236,"name":"Monsyne Dragon","email":"mdragon@rackspace.com","username":"mdragon"},"change_message_id":"6f10cf21afcaf80d1db3799f5595d15680be7b50","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def split_by_data_type(string):"},{"line_number":84,"context_line":"        frags \u003d re.findall(r\u0027^(string|integer|float|datetime|boolean)(::)\u0027"},{"line_number":85,"context_line":"                           r\u0027([^ -,\\t\\n\\r\\f\\v]+)$\u0027, string)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        # frags[1] is the separator. Return a list without it if the type"},{"line_number":88,"context_line":"        # identifier was found."}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUH%2F%2Fkic%3D","line":85,"updated":"2014-01-10 22:55:26.000000000","message":"Minor nit: I see that this is done similarly to the split_by_op above, but here it\u0027s actually easier (and more efficient) to do:\n\ndata_types \u003d set((\u0027string\u0027, integer\u0027, \u0027float\u0027, ... etc))\n\ndef split_by_data_type(string):\n    frags \u003d string.split(\u0027::\u0027, 1)\n    return frags if len(frags) \u003e 1 and frags[0] in data_types else None\n\nyou can use .split() here, since you don\u0027t have the possibility of multiple matches, and don\u0027t need to preserve the separator. (and it saves the regex overhead.)","commit_id":"c74231e74473cdfc8037731b6e9beb539d491814"},{"author":{"_account_id":236,"name":"Monsyne Dragon","email":"mdragon@rackspace.com","username":"mdragon"},"change_message_id":"7129b9ea8ae88a14a24d617325092740c9a9830a","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def split_by_data_type(string):"},{"line_number":84,"context_line":"        frags \u003d re.findall(r\u0027^(string|integer|float|datetime|boolean)(::)\u0027"},{"line_number":85,"context_line":"                           r\u0027([^ -,\\t\\n\\r\\f\\v]+)$\u0027, string)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        # frags[1] is the separator. Return a list without it if the type"},{"line_number":88,"context_line":"        # identifier was found."}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUH%2F%2FkWE%3D","line":85,"in_reply_to":"AAAAUH%2F%2FkZc%3D","updated":"2014-01-10 23:37:24.000000000","message":"Yah, that\u0027s what the the data_types set in my sample code is for.  Anyway, like I said, it\u0027s just a suggestion, it works as is.","commit_id":"c74231e74473cdfc8037731b6e9beb539d491814"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"90e23d82ce2382436af0b4bbecef22332c96f312","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def split_by_data_type(string):"},{"line_number":84,"context_line":"        frags \u003d re.findall(r\u0027^(string|integer|float|datetime|boolean)(::)\u0027"},{"line_number":85,"context_line":"                           r\u0027([^ -,\\t\\n\\r\\f\\v]+)$\u0027, string)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        # frags[1] is the separator. Return a list without it if the type"},{"line_number":88,"context_line":"        # identifier was found."}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUH%2F%2FkZc%3D","line":85,"in_reply_to":"AAAAUH%2F%2Fkic%3D","updated":"2014-01-10 23:12:26.000000000","message":"Yeah, good point... but the regex has the advantage of enforcing a valid type. I suppose we could just leave that to the API server to do.","commit_id":"c74231e74473cdfc8037731b6e9beb539d491814"}],"ceilometerclient/v2/shell.py":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"10bcb574dc446d43e5ff060a58a5ab0453d39ec5","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"@utils.arg(\u0027-q\u0027, \u0027--query\u0027, metavar\u003d\u0027\u003cQUERY\u003e\u0027,"},{"line_number":38,"context_line":"           help\u003d\u0027key[op]data_type::value; list.\u0027)"},{"line_number":39,"context_line":"@utils.arg(\u0027-m\u0027, \u0027--meter\u0027, metavar\u003d\u0027\u003cNAME\u003e\u0027, required\u003dTrue,"},{"line_number":40,"context_line":"           help\u003d\u0027Name of meter to show samples for.\u0027)"},{"line_number":41,"context_line":"@utils.arg(\u0027-p\u0027, \u0027--period\u0027, metavar\u003d\u0027\u003cPERIOD\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2W8%3D","line":38,"updated":"2014-01-07 17:53:06.000000000","message":"Hmmm, it\u0027s not obvious that data_type must be one of \u0027string\u0027, \u0027float\u0027, \u0027boolean\u0027 etc.\n\nCould that highly useful info be included also?\n\nAlso not obvious that the type is not compulsory.","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"936e3e87fb5458fc57cdd5716259396f480a76ec","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"@utils.arg(\u0027-q\u0027, \u0027--query\u0027, metavar\u003d\u0027\u003cQUERY\u003e\u0027,"},{"line_number":38,"context_line":"           help\u003d\u0027key[op]data_type::value; list.\u0027)"},{"line_number":39,"context_line":"@utils.arg(\u0027-m\u0027, \u0027--meter\u0027, metavar\u003d\u0027\u003cNAME\u003e\u0027, required\u003dTrue,"},{"line_number":40,"context_line":"           help\u003d\u0027Name of meter to show samples for.\u0027)"},{"line_number":41,"context_line":"@utils.arg(\u0027-p\u0027, \u0027--period\u0027, metavar\u003d\u0027\u003cPERIOD\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2HI%3D","line":38,"in_reply_to":"AAAAUH%2F%2F2W8%3D","updated":"2014-01-07 19:13:06.000000000","message":"Done.","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"03141662a403339bec5768382af48bfb6cdfc330","unresolved":false,"context_lines":[{"line_number":573,"context_line":"                     \u0027traits\u0027: utils.nested_dict_formatter(\u0027traits\u0027)})"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"def _display_event(event):"},{"line_number":577,"context_line":"    fields \u003d [\u0027event_type\u0027, \u0027generated\u0027, \u0027traits\u0027]"},{"line_number":578,"context_line":"    data \u003d dict([(f, getattr(event, f, \u0027\u0027)) for f in fields])"},{"line_number":579,"context_line":"    utils.print_dict(data, wrap\u003d72)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUH%2F%2FmKE%3D","line":576,"updated":"2014-01-10 17:10:28.000000000","message":"is this going to be reused at some point? it only seems to be used by one method.","commit_id":"be3181f8c3559421f6707665d8defa3288c32999"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"d75d3ec1bdd8ff18a0105493b314766c51453d04","unresolved":false,"context_lines":[{"line_number":573,"context_line":"                     \u0027traits\u0027: utils.nested_dict_formatter(\u0027traits\u0027)})"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"def _display_event(event):"},{"line_number":577,"context_line":"    fields \u003d [\u0027event_type\u0027, \u0027generated\u0027, \u0027traits\u0027]"},{"line_number":578,"context_line":"    data \u003d dict([(f, getattr(event, f, \u0027\u0027)) for f in fields])"},{"line_number":579,"context_line":"    utils.print_dict(data, wrap\u003d72)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUH%2F%2Flmg%3D","line":576,"in_reply_to":"AAAAUH%2F%2FmKE%3D","updated":"2014-01-10 19:00:33.000000000","message":"Done","commit_id":"be3181f8c3559421f6707665d8defa3288c32999"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"03141662a403339bec5768382af48bfb6cdfc330","unresolved":false,"context_lines":[{"line_number":580,"context_line":""},{"line_number":581,"context_line":""},{"line_number":582,"context_line":"@utils.arg(\u0027-m\u0027, \u0027--message_id\u0027, metavar\u003d\u0027\u003cmessage_id\u003e\u0027,"},{"line_number":583,"context_line":"           help\u003d\u0027key[op]data_type::value; list.\u0027)"},{"line_number":584,"context_line":"def do_event_show(cc, args\u003d{}):"},{"line_number":585,"context_line":"    \u0027\u0027\u0027Show a particular event.\u0027\u0027\u0027"},{"line_number":586,"context_line":"    if args.message_id is None:"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUH%2F%2FmIo%3D","line":583,"updated":"2014-01-10 17:10:28.000000000","message":"help msg looks like a copy/paste error.\n\nalso, can probably set required\u003dTrue in decorator so we don\u0027t need check below.","commit_id":"be3181f8c3559421f6707665d8defa3288c32999"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"d75d3ec1bdd8ff18a0105493b314766c51453d04","unresolved":false,"context_lines":[{"line_number":580,"context_line":""},{"line_number":581,"context_line":""},{"line_number":582,"context_line":"@utils.arg(\u0027-m\u0027, \u0027--message_id\u0027, metavar\u003d\u0027\u003cmessage_id\u003e\u0027,"},{"line_number":583,"context_line":"           help\u003d\u0027key[op]data_type::value; list.\u0027)"},{"line_number":584,"context_line":"def do_event_show(cc, args\u003d{}):"},{"line_number":585,"context_line":"    \u0027\u0027\u0027Show a particular event.\u0027\u0027\u0027"},{"line_number":586,"context_line":"    if args.message_id is None:"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUH%2F%2Fli0%3D","line":583,"in_reply_to":"AAAAUH%2F%2FmIo%3D","updated":"2014-01-10 19:00:33.000000000","message":"Done","commit_id":"be3181f8c3559421f6707665d8defa3288c32999"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"03141662a403339bec5768382af48bfb6cdfc330","unresolved":false,"context_lines":[{"line_number":596,"context_line":""},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"@utils.arg(\u0027-e\u0027, \u0027--event_type\u0027, metavar\u003d\u0027\u003cEVENT_TYPE\u003e\u0027,"},{"line_number":599,"context_line":"           help\u003d\u0027Type of the event for which traits will be shown\u0027)"},{"line_number":600,"context_line":"def do_trait_description_list(cc, args\u003d{}):"},{"line_number":601,"context_line":"    \u0027\u0027\u0027List trait info for an event type.\u0027\u0027\u0027"},{"line_number":602,"context_line":"    if args.event_type is None:"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUH%2F%2FmGU%3D","line":599,"updated":"2014-01-10 17:10:28.000000000","message":"set required\u003dTrue","commit_id":"be3181f8c3559421f6707665d8defa3288c32999"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"d75d3ec1bdd8ff18a0105493b314766c51453d04","unresolved":false,"context_lines":[{"line_number":596,"context_line":""},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"@utils.arg(\u0027-e\u0027, \u0027--event_type\u0027, metavar\u003d\u0027\u003cEVENT_TYPE\u003e\u0027,"},{"line_number":599,"context_line":"           help\u003d\u0027Type of the event for which traits will be shown\u0027)"},{"line_number":600,"context_line":"def do_trait_description_list(cc, args\u003d{}):"},{"line_number":601,"context_line":"    \u0027\u0027\u0027List trait info for an event type.\u0027\u0027\u0027"},{"line_number":602,"context_line":"    if args.event_type is None:"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUH%2F%2FliY%3D","line":599,"in_reply_to":"AAAAUH%2F%2FmGU%3D","updated":"2014-01-10 19:00:33.000000000","message":"Done","commit_id":"be3181f8c3559421f6707665d8defa3288c32999"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"03141662a403339bec5768382af48bfb6cdfc330","unresolved":false,"context_lines":[{"line_number":610,"context_line":"@utils.arg(\u0027-e\u0027, \u0027--event_type\u0027, metavar\u003d\u0027\u003cEVENT_TYPE\u003e\u0027,"},{"line_number":611,"context_line":"           help\u003d\u0027Type of the event for which traits will listed\u0027)"},{"line_number":612,"context_line":"@utils.arg(\u0027-t\u0027, \u0027--trait_name\u0027, metavar\u003d\u0027\u003cTRAIT_NAME\u003e\u0027,"},{"line_number":613,"context_line":"           help\u003d\u0027The name of the trait to list\u0027)"},{"line_number":614,"context_line":"def do_trait_list(cc, args\u003d{}):"},{"line_number":615,"context_line":"    \u0027\u0027\u0027List trait all traits with name \u003ctrait_name\u003e for Event Type"},{"line_number":616,"context_line":"    \u003cevent_type\u003e."}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUH%2F%2FmGM%3D","line":613,"updated":"2014-01-10 17:10:28.000000000","message":"set required\u003dTrue","commit_id":"be3181f8c3559421f6707665d8defa3288c32999"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"d75d3ec1bdd8ff18a0105493b314766c51453d04","unresolved":false,"context_lines":[{"line_number":610,"context_line":"@utils.arg(\u0027-e\u0027, \u0027--event_type\u0027, metavar\u003d\u0027\u003cEVENT_TYPE\u003e\u0027,"},{"line_number":611,"context_line":"           help\u003d\u0027Type of the event for which traits will listed\u0027)"},{"line_number":612,"context_line":"@utils.arg(\u0027-t\u0027, \u0027--trait_name\u0027, metavar\u003d\u0027\u003cTRAIT_NAME\u003e\u0027,"},{"line_number":613,"context_line":"           help\u003d\u0027The name of the trait to list\u0027)"},{"line_number":614,"context_line":"def do_trait_list(cc, args\u003d{}):"},{"line_number":615,"context_line":"    \u0027\u0027\u0027List trait all traits with name \u003ctrait_name\u003e for Event Type"},{"line_number":616,"context_line":"    \u003cevent_type\u003e."}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUH%2F%2FliE%3D","line":613,"in_reply_to":"AAAAUH%2F%2FmGM%3D","updated":"2014-01-10 19:00:33.000000000","message":"Done","commit_id":"be3181f8c3559421f6707665d8defa3288c32999"}],"ceilometerclient/v2/trait_info.py":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"10bcb574dc446d43e5ff060a58a5ab0453d39ec5","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from ceilometerclient.common import base"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class TraitInfo(base.Resource):"},{"line_number":20,"context_line":"    def __repr__(self):"},{"line_number":21,"context_line":"        return \"\u003cTrait %s\u003e\" % self._info"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2VY%3D","line":19,"updated":"2014-01-07 17:53:06.000000000","message":"nitpick: trait_info.py is a singular form, as the class name TraitInfo.\n\nWhereas traits.py is a plural form, though the corresponding class name Trait is also singular.\n\nThen again, trait_infos doesn\u0027t exactly trip off the tongue.","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"faaee0292e140762d404a6a30f2e21c442109ed9","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from ceilometerclient.common import base"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class TraitInfo(base.Resource):"},{"line_number":20,"context_line":"    def __repr__(self):"},{"line_number":21,"context_line":"        return \"\u003cTrait %s\u003e\" % self._info"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F16w%3D","line":19,"in_reply_to":"AAAAUH%2F%2F2Gg%3D","updated":"2014-01-07 19:59:51.000000000","message":"Yep, that\u0027s better thanks!","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"936e3e87fb5458fc57cdd5716259396f480a76ec","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from ceilometerclient.common import base"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class TraitInfo(base.Resource):"},{"line_number":20,"context_line":"    def __repr__(self):"},{"line_number":21,"context_line":"        return \"\u003cTrait %s\u003e\" % self._info"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2F2Gg%3D","line":19,"in_reply_to":"AAAAUH%2F%2F2VY%3D","updated":"2014-01-07 19:13:06.000000000","message":"trait_descriptions.TraitDescription?","commit_id":"39430a68f380ec0b2a9f67ef4efc9699fb7bb947"}]}
