)]}'
{"ceilometer/storage/__init__.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"45aab56bc698a4bed5f91263a88e62d43d0b56e8","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    :param start: UTC start datetime (mandatory)"},{"line_number":120,"context_line":"    :param end: UTC end datetime (mandatory)"},{"line_number":121,"context_line":"    :param event_type: the name of the event. None for all."},{"line_number":122,"context_line":"    :param traits_filter: the trait filter dicts, all of which are optional."},{"line_number":123,"context_line":"                   This parameter is a list of dictionaries that specify"},{"line_number":124,"context_line":"                   trait values:"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F9%2BrM%3D","line":121,"updated":"2013-12-03 22:58:03.000000000","message":"missing message_id","commit_id":"bed439472123d45ef4013281c86a96c4fddd0ca5"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"7581192bf63d949aae437747aaa13856c3bdb849","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    :param start: UTC start datetime (mandatory)"},{"line_number":120,"context_line":"    :param end: UTC end datetime (mandatory)"},{"line_number":121,"context_line":"    :param event_type: the name of the event. None for all."},{"line_number":122,"context_line":"    :param traits_filter: the trait filter dicts, all of which are optional."},{"line_number":123,"context_line":"                   This parameter is a list of dictionaries that specify"},{"line_number":124,"context_line":"                   trait values:"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F99vY%3D","line":121,"in_reply_to":"AAAATn%2F9%2BrM%3D","updated":"2013-12-03 23:42:44.000000000","message":"Done","commit_id":"bed439472123d45ef4013281c86a96c4fddd0ca5"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"011d9a3602f94f51c9e482e8a0e9764e22b1b0b1","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                    \u0027t_float\u0027: \u003cvalue\u003e,"},{"line_number":131,"context_line":"                    \u0027op\u0027: \u003ceq, lt, le, ne, gt or ge\u003e }"},{"line_number":132,"context_line":"    \"\"\""},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    def __init__(self, start_time\u003dNone, end_time\u003dNone, event_type\u003dNone,"},{"line_number":135,"context_line":"                 message_id\u003dNone, traits_filter\u003d[]):"},{"line_number":136,"context_line":"        self.start_time \u003d utils.sanitize_timestamp(start_time)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAATn%2F9pGo%3D","line":133,"updated":"2013-12-09 12:44:14.000000000","message":"you\u0027ve renamed \u0027start -\u003e start_time\u0027 and \u0027end -\u003e end_time\u0027, please fix the doc above:\n:param start: UTC start datetime (mandatory)\n:param end: UTC end datetime (mandatory)","commit_id":"62624c90867e0c1b746238c09ed5595c2b6fbaba"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"0142ebe1e90ae98be597ae5c992410c9a0bc7aaf","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                    \u0027t_float\u0027: \u003cvalue\u003e,"},{"line_number":131,"context_line":"                    \u0027op\u0027: \u003ceq, lt, le, ne, gt or ge\u003e }"},{"line_number":132,"context_line":"    \"\"\""},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    def __init__(self, start_time\u003dNone, end_time\u003dNone, event_type\u003dNone,"},{"line_number":135,"context_line":"                 message_id\u003dNone, traits_filter\u003d[]):"},{"line_number":136,"context_line":"        self.start_time \u003d utils.sanitize_timestamp(start_time)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAATn%2F9ogk%3D","line":133,"in_reply_to":"AAAATn%2F9pGo%3D","updated":"2013-12-09 14:11:41.000000000","message":"grr, looks like that change got lost in the rebase between patchsets 9 and 10. Thanks for finding, will fix!","commit_id":"62624c90867e0c1b746238c09ed5595c2b6fbaba"}],"ceilometer/storage/base.py":[{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"4e6a737ac133dd319111f69ea5a0aa51e0a72eed","unresolved":false,"context_lines":[{"line_number":281,"context_line":""},{"line_number":282,"context_line":"    @abc.abstractmethod"},{"line_number":283,"context_line":"    def get_event_types(self):"},{"line_number":284,"context_line":"        \"\"\"Return all event types as an iterable of strings."},{"line_number":285,"context_line":"        \"\"\""},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"    @abc.abstractmethod"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F%2BNOE%3D","line":284,"updated":"2013-11-29 06:20:48.000000000","message":"I\u0027m wondering whether to add a event_type model for this.","commit_id":"56b9194353665c881ff8eb8a7d7f8e2ca305b4f0"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"4e6a737ac133dd319111f69ea5a0aa51e0a72eed","unresolved":false,"context_lines":[{"line_number":288,"context_line":"    def get_trait_types(self, event_type):"},{"line_number":289,"context_line":"        \"\"\"Return a dictionary containing the name and data type of"},{"line_number":290,"context_line":"        the trait type. Only trait types for the provided event_type are"},{"line_number":291,"context_line":"        returned."},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        :param event_type: the type of the Event"},{"line_number":294,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F%2BNOM%3D","line":291,"updated":"2013-11-29 06:20:48.000000000","message":"I\u0027m wondering whether to add a trait_type model for this.","commit_id":"56b9194353665c881ff8eb8a7d7f8e2ca305b4f0"},{"author":{"_account_id":7368,"name":"Thomas Maddox","email":"me@thomasem.net","username":"thomasm"},"change_message_id":"9eb8af6751b5c1a53bed65100ac422bbbbf18a77","unresolved":false,"context_lines":[{"line_number":288,"context_line":"    def get_trait_types(self, event_type):"},{"line_number":289,"context_line":"        \"\"\"Return a dictionary containing the name and data type of"},{"line_number":290,"context_line":"        the trait type. Only trait types for the provided event_type are"},{"line_number":291,"context_line":"        returned."},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        :param event_type: the type of the Event"},{"line_number":294,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F9%2FuY%3D","line":291,"in_reply_to":"AAAATn%2F%2BL2Y%3D","updated":"2013-12-03 17:00:51.000000000","message":"What about a follow up branch?","commit_id":"56b9194353665c881ff8eb8a7d7f8e2ca305b4f0"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"8118328e4e874ff149a9310240156e7cbbad16c9","unresolved":false,"context_lines":[{"line_number":288,"context_line":"    def get_trait_types(self, event_type):"},{"line_number":289,"context_line":"        \"\"\"Return a dictionary containing the name and data type of"},{"line_number":290,"context_line":"        the trait type. Only trait types for the provided event_type are"},{"line_number":291,"context_line":"        returned."},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        :param event_type: the type of the Event"},{"line_number":294,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F%2BL2Y%3D","line":291,"in_reply_to":"AAAATn%2F%2BNOM%3D","updated":"2013-11-29 14:32:33.000000000","message":"I flip-flopped on that as well. It might make sense to make a trait type model, but I think event_type is over kill, since it really is just a string. Still, trait_type is also very simple, I\u0027m not sure it makes sense to add a model for it either. Any other input on this?","commit_id":"56b9194353665c881ff8eb8a7d7f8e2ca305b4f0"}],"ceilometer/storage/impl_db2.py":[{"author":{"_account_id":236,"name":"Monsyne Dragon","email":"mdragon@rackspace.com","username":"mdragon"},"change_message_id":"9b61a379cb6b27a8b4d4d16f52aefb38d35c6d36","unresolved":false,"context_lines":[{"line_number":772,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"    @staticmethod"},{"line_number":775,"context_line":"    def get_event_types(self):"},{"line_number":776,"context_line":"        \"\"\"Return all event types as an iterable of strings."},{"line_number":777,"context_line":"        \"\"\""},{"line_number":778,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F9%2BQc%3D","line":775,"updated":"2013-12-03 21:58:04.000000000","message":"static methods should not have a \u0027self\u0027 arg. Tho\u0027 I\u0027m not sure why these are static...","commit_id":"bed439472123d45ef4013281c86a96c4fddd0ca5"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"7581192bf63d949aae437747aaa13856c3bdb849","unresolved":false,"context_lines":[{"line_number":772,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"    @staticmethod"},{"line_number":775,"context_line":"    def get_event_types(self):"},{"line_number":776,"context_line":"        \"\"\"Return all event types as an iterable of strings."},{"line_number":777,"context_line":"        \"\"\""},{"line_number":778,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F99uE%3D","line":775,"in_reply_to":"AAAATn%2F9%2BQc%3D","updated":"2013-12-03 23:42:44.000000000","message":"Done - dropping seld, adding @staticmethod","commit_id":"bed439472123d45ef4013281c86a96c4fddd0ca5"},{"author":{"_account_id":5313,"name":"David Peraza","email":"david_peraza@persistentsys.com","username":"dperaza"},"change_message_id":"a10334f1991042181524ad30688fd2e39d16a96f","unresolved":false,"context_lines":[{"line_number":785,"context_line":""},{"line_number":786,"context_line":"        :param event_type: the type of the Event"},{"line_number":787,"context_line":"        \"\"\""},{"line_number":788,"context_line":""},{"line_number":789,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"},{"line_number":790,"context_line":""},{"line_number":791,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F94kI%3D","line":788,"updated":"2013-12-04 22:01:05.000000000","message":"is there plans to implement?","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"},{"author":{"_account_id":5313,"name":"David Peraza","email":"david_peraza@persistentsys.com","username":"dperaza"},"change_message_id":"a10334f1991042181524ad30688fd2e39d16a96f","unresolved":false,"context_lines":[{"line_number":786,"context_line":"        :param event_type: the type of the Event"},{"line_number":787,"context_line":"        \"\"\""},{"line_number":788,"context_line":""},{"line_number":789,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"},{"line_number":790,"context_line":""},{"line_number":791,"context_line":"    @staticmethod"},{"line_number":792,"context_line":"    def get_traits(event_type, trait_type\u003dNone):"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F94lY%3D","line":789,"updated":"2013-12-04 22:01:05.000000000","message":"Translation _()","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"ad97ba4f22cbb2954cd2e63081458b4d97c03e82","unresolved":false,"context_lines":[{"line_number":786,"context_line":"        :param event_type: the type of the Event"},{"line_number":787,"context_line":"        \"\"\""},{"line_number":788,"context_line":""},{"line_number":789,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"},{"line_number":790,"context_line":""},{"line_number":791,"context_line":"    @staticmethod"},{"line_number":792,"context_line":"    def get_traits(event_type, trait_type\u003dNone):"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F90T4%3D","line":789,"in_reply_to":"AAAATn%2F94lY%3D","updated":"2013-12-05 16:07:32.000000000","message":"Done","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"},{"author":{"_account_id":5313,"name":"David Peraza","email":"david_peraza@persistentsys.com","username":"dperaza"},"change_message_id":"a10334f1991042181524ad30688fd2e39d16a96f","unresolved":false,"context_lines":[{"line_number":797,"context_line":"        :param trait_type: the name of the Trait to filter by"},{"line_number":798,"context_line":"        \"\"\""},{"line_number":799,"context_line":""},{"line_number":800,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F94lQ%3D","line":800,"updated":"2013-12-04 22:01:05.000000000","message":"Translation _()","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"ad97ba4f22cbb2954cd2e63081458b4d97c03e82","unresolved":false,"context_lines":[{"line_number":797,"context_line":"        :param trait_type: the name of the Trait to filter by"},{"line_number":798,"context_line":"        \"\"\""},{"line_number":799,"context_line":""},{"line_number":800,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F90T0%3D","line":800,"in_reply_to":"AAAATn%2F94lQ%3D","updated":"2013-12-05 16:07:32.000000000","message":"Done","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"}],"ceilometer/storage/impl_hbase.py":[{"author":{"_account_id":5313,"name":"David Peraza","email":"david_peraza@persistentsys.com","username":"dperaza"},"change_message_id":"a10334f1991042181524ad30688fd2e39d16a96f","unresolved":false,"context_lines":[{"line_number":675,"context_line":"        :param event_type: the type of the Event"},{"line_number":676,"context_line":"        \"\"\""},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"},{"line_number":679,"context_line":""},{"line_number":680,"context_line":"    def get_traits(self, event_type, trait_type\u003dNone):"},{"line_number":681,"context_line":"        \"\"\"Return all trait instances associated with an event_type. If"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F94j0%3D","line":678,"updated":"2013-12-04 22:01:05.000000000","message":"_()","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"ad97ba4f22cbb2954cd2e63081458b4d97c03e82","unresolved":false,"context_lines":[{"line_number":675,"context_line":"        :param event_type: the type of the Event"},{"line_number":676,"context_line":"        \"\"\""},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"},{"line_number":679,"context_line":""},{"line_number":680,"context_line":"    def get_traits(self, event_type, trait_type\u003dNone):"},{"line_number":681,"context_line":"        \"\"\"Return all trait instances associated with an event_type. If"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F90Tw%3D","line":678,"in_reply_to":"AAAATn%2F94j0%3D","updated":"2013-12-05 16:07:32.000000000","message":"Done","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"},{"author":{"_account_id":5313,"name":"David Peraza","email":"david_peraza@persistentsys.com","username":"dperaza"},"change_message_id":"a10334f1991042181524ad30688fd2e39d16a96f","unresolved":false,"context_lines":[{"line_number":685,"context_line":"        :param trait_type: the name of the Trait to filter by"},{"line_number":686,"context_line":"        \"\"\""},{"line_number":687,"context_line":""},{"line_number":688,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"},{"line_number":689,"context_line":""},{"line_number":690,"context_line":""},{"line_number":691,"context_line":"###############"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F94js%3D","line":688,"updated":"2013-12-04 22:01:05.000000000","message":"_()","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"ad97ba4f22cbb2954cd2e63081458b4d97c03e82","unresolved":false,"context_lines":[{"line_number":685,"context_line":"        :param trait_type: the name of the Trait to filter by"},{"line_number":686,"context_line":"        \"\"\""},{"line_number":687,"context_line":""},{"line_number":688,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"},{"line_number":689,"context_line":""},{"line_number":690,"context_line":""},{"line_number":691,"context_line":"###############"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F90Ts%3D","line":688,"in_reply_to":"AAAATn%2F94js%3D","updated":"2013-12-05 16:07:32.000000000","message":"Done","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"}],"ceilometer/storage/impl_log.py":[{"author":{"_account_id":5313,"name":"David Peraza","email":"david_peraza@persistentsys.com","username":"dperaza"},"change_message_id":"a10334f1991042181524ad30688fd2e39d16a96f","unresolved":false,"context_lines":[{"line_number":229,"context_line":"    def get_event_types(self):"},{"line_number":230,"context_line":"        \"\"\"Return all event types as an iterable of strings."},{"line_number":231,"context_line":"        \"\"\""},{"line_number":232,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"    def get_trait_types(self, event_type):"},{"line_number":235,"context_line":"        \"\"\"Return a dictionary containing the name and data type of"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F94jo%3D","line":232,"updated":"2013-12-04 22:01:05.000000000","message":"_()","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"ad97ba4f22cbb2954cd2e63081458b4d97c03e82","unresolved":false,"context_lines":[{"line_number":229,"context_line":"    def get_event_types(self):"},{"line_number":230,"context_line":"        \"\"\"Return all event types as an iterable of strings."},{"line_number":231,"context_line":"        \"\"\""},{"line_number":232,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"    def get_trait_types(self, event_type):"},{"line_number":235,"context_line":"        \"\"\"Return a dictionary containing the name and data type of"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F90Tk%3D","line":232,"in_reply_to":"AAAATn%2F94jo%3D","updated":"2013-12-05 16:07:32.000000000","message":"Done","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"},{"author":{"_account_id":5313,"name":"David Peraza","email":"david_peraza@persistentsys.com","username":"dperaza"},"change_message_id":"a10334f1991042181524ad30688fd2e39d16a96f","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        :param event_type: the type of the Event"},{"line_number":240,"context_line":"        \"\"\""},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"    def get_traits(self, event_type, trait_type\u003dNone):"},{"line_number":245,"context_line":"        \"\"\"Return all trait instances associated with an event_type. If"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F94jg%3D","line":242,"updated":"2013-12-04 22:01:05.000000000","message":"_()","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"ad97ba4f22cbb2954cd2e63081458b4d97c03e82","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        :param event_type: the type of the Event"},{"line_number":240,"context_line":"        \"\"\""},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"    def get_traits(self, event_type, trait_type\u003dNone):"},{"line_number":245,"context_line":"        \"\"\"Return all trait instances associated with an event_type. If"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F90Tg%3D","line":242,"in_reply_to":"AAAATn%2F94jg%3D","updated":"2013-12-05 16:07:32.000000000","message":"Done","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"},{"author":{"_account_id":5313,"name":"David Peraza","email":"david_peraza@persistentsys.com","username":"dperaza"},"change_message_id":"a10334f1991042181524ad30688fd2e39d16a96f","unresolved":false,"context_lines":[{"line_number":249,"context_line":"        :param trait_type: the name of the Trait to filter by"},{"line_number":250,"context_line":"        \"\"\""},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F94jU%3D","line":252,"updated":"2013-12-04 22:01:05.000000000","message":"_()","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"ad97ba4f22cbb2954cd2e63081458b4d97c03e82","unresolved":false,"context_lines":[{"line_number":249,"context_line":"        :param trait_type: the name of the Trait to filter by"},{"line_number":250,"context_line":"        \"\"\""},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F90Tc%3D","line":252,"in_reply_to":"AAAATn%2F94jU%3D","updated":"2013-12-05 16:07:32.000000000","message":"Done","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"}],"ceilometer/storage/impl_mongodb.py":[{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"4e6a737ac133dd319111f69ea5a0aa51e0a72eed","unresolved":false,"context_lines":[{"line_number":976,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"},{"line_number":977,"context_line":""},{"line_number":978,"context_line":"    @staticmethod"},{"line_number":979,"context_line":"    def get_event_types(self):"},{"line_number":980,"context_line":"        \"\"\"Return all event types as an iterable of strings."},{"line_number":981,"context_line":"        \"\"\""},{"line_number":982,"context_line":"        raise NotImplementedError(\u0027EventTypes not implemented.\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F%2BNV4%3D","line":979,"updated":"2013-11-29 06:20:48.000000000","message":"static or not?","commit_id":"56b9194353665c881ff8eb8a7d7f8e2ca305b4f0"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"8118328e4e874ff149a9310240156e7cbbad16c9","unresolved":false,"context_lines":[{"line_number":976,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"},{"line_number":977,"context_line":""},{"line_number":978,"context_line":"    @staticmethod"},{"line_number":979,"context_line":"    def get_event_types(self):"},{"line_number":980,"context_line":"        \"\"\"Return all event types as an iterable of strings."},{"line_number":981,"context_line":"        \"\"\""},{"line_number":982,"context_line":"        raise NotImplementedError(\u0027EventTypes not implemented.\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F%2BL2U%3D","line":979,"in_reply_to":"AAAATn%2F%2BNV4%3D","updated":"2013-11-29 14:32:33.000000000","message":"self needs to be removed, right?","commit_id":"56b9194353665c881ff8eb8a7d7f8e2ca305b4f0"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"4e6a737ac133dd319111f69ea5a0aa51e0a72eed","unresolved":false,"context_lines":[{"line_number":982,"context_line":"        raise NotImplementedError(\u0027EventTypes not implemented.\u0027)"},{"line_number":983,"context_line":""},{"line_number":984,"context_line":"    @staticmethod"},{"line_number":985,"context_line":"    def get_trait_types(event_type):"},{"line_number":986,"context_line":"        \"\"\"Return a dictionary containing the name and data type of"},{"line_number":987,"context_line":"        the trait type. Only trait types for the provided event_type are"},{"line_number":988,"context_line":"        returned."}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F%2BNV0%3D","line":985,"updated":"2013-11-29 06:20:48.000000000","message":"why static here while in the base it\u0027s not?","commit_id":"56b9194353665c881ff8eb8a7d7f8e2ca305b4f0"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"8118328e4e874ff149a9310240156e7cbbad16c9","unresolved":false,"context_lines":[{"line_number":982,"context_line":"        raise NotImplementedError(\u0027EventTypes not implemented.\u0027)"},{"line_number":983,"context_line":""},{"line_number":984,"context_line":"    @staticmethod"},{"line_number":985,"context_line":"    def get_trait_types(event_type):"},{"line_number":986,"context_line":"        \"\"\"Return a dictionary containing the name and data type of"},{"line_number":987,"context_line":"        the trait type. Only trait types for the provided event_type are"},{"line_number":988,"context_line":"        returned."}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F%2BL2M%3D","line":985,"in_reply_to":"AAAATn%2F%2BNV0%3D","updated":"2013-11-29 14:32:33.000000000","message":"Every other method in the mongo impl does the same thing... I did it this way to be consistent.","commit_id":"56b9194353665c881ff8eb8a7d7f8e2ca305b4f0"},{"author":{"_account_id":236,"name":"Monsyne Dragon","email":"mdragon@rackspace.com","username":"mdragon"},"change_message_id":"9b61a379cb6b27a8b4d4d16f52aefb38d35c6d36","unresolved":false,"context_lines":[{"line_number":976,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"},{"line_number":977,"context_line":""},{"line_number":978,"context_line":"    @staticmethod"},{"line_number":979,"context_line":"    def get_event_types(self):"},{"line_number":980,"context_line":"        \"\"\"Return all event types as an iterable of strings."},{"line_number":981,"context_line":"        \"\"\""},{"line_number":982,"context_line":"        raise NotImplementedError(\u0027EventTypes not implemented.\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F9%2BPo%3D","line":979,"updated":"2013-12-03 21:58:04.000000000","message":"Static methods shouldn\u0027t have a \u0027self\u0027 arg.\ntho, again, I\u0027m not sure why these are marked static. When someone implements this, they will have to remove that anyway to access self.db to do the query...","commit_id":"bed439472123d45ef4013281c86a96c4fddd0ca5"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"7581192bf63d949aae437747aaa13856c3bdb849","unresolved":false,"context_lines":[{"line_number":976,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"},{"line_number":977,"context_line":""},{"line_number":978,"context_line":"    @staticmethod"},{"line_number":979,"context_line":"    def get_event_types(self):"},{"line_number":980,"context_line":"        \"\"\"Return all event types as an iterable of strings."},{"line_number":981,"context_line":"        \"\"\""},{"line_number":982,"context_line":"        raise NotImplementedError(\u0027EventTypes not implemented.\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F99mo%3D","line":979,"in_reply_to":"AAAATn%2F9%2BPo%3D","updated":"2013-12-03 23:42:44.000000000","message":"Done","commit_id":"bed439472123d45ef4013281c86a96c4fddd0ca5"},{"author":{"_account_id":5313,"name":"David Peraza","email":"david_peraza@persistentsys.com","username":"dperaza"},"change_message_id":"a10334f1991042181524ad30688fd2e39d16a96f","unresolved":false,"context_lines":[{"line_number":979,"context_line":"    def get_event_types():"},{"line_number":980,"context_line":"        \"\"\"Return all event types as an iterable of strings."},{"line_number":981,"context_line":"        \"\"\""},{"line_number":982,"context_line":"        raise NotImplementedError(\u0027EventTypes not implemented.\u0027)"},{"line_number":983,"context_line":""},{"line_number":984,"context_line":"    @staticmethod"},{"line_number":985,"context_line":"    def get_trait_types(event_type):"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F94jM%3D","line":982,"updated":"2013-12-04 22:01:05.000000000","message":"_()","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"ad97ba4f22cbb2954cd2e63081458b4d97c03e82","unresolved":false,"context_lines":[{"line_number":979,"context_line":"    def get_event_types():"},{"line_number":980,"context_line":"        \"\"\"Return all event types as an iterable of strings."},{"line_number":981,"context_line":"        \"\"\""},{"line_number":982,"context_line":"        raise NotImplementedError(\u0027EventTypes not implemented.\u0027)"},{"line_number":983,"context_line":""},{"line_number":984,"context_line":"    @staticmethod"},{"line_number":985,"context_line":"    def get_trait_types(event_type):"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F90TU%3D","line":982,"in_reply_to":"AAAATn%2F94jM%3D","updated":"2013-12-05 16:07:32.000000000","message":"Done","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"},{"author":{"_account_id":5313,"name":"David Peraza","email":"david_peraza@persistentsys.com","username":"dperaza"},"change_message_id":"a10334f1991042181524ad30688fd2e39d16a96f","unresolved":false,"context_lines":[{"line_number":990,"context_line":"        :param event_type: the type of the Event"},{"line_number":991,"context_line":"        \"\"\""},{"line_number":992,"context_line":""},{"line_number":993,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"},{"line_number":994,"context_line":""},{"line_number":995,"context_line":"    @staticmethod"},{"line_number":996,"context_line":"    def get_traits(event_type, trait_type\u003dNone):"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F94jI%3D","line":993,"updated":"2013-12-04 22:01:05.000000000","message":"_()","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"ad97ba4f22cbb2954cd2e63081458b4d97c03e82","unresolved":false,"context_lines":[{"line_number":990,"context_line":"        :param event_type: the type of the Event"},{"line_number":991,"context_line":"        \"\"\""},{"line_number":992,"context_line":""},{"line_number":993,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"},{"line_number":994,"context_line":""},{"line_number":995,"context_line":"    @staticmethod"},{"line_number":996,"context_line":"    def get_traits(event_type, trait_type\u003dNone):"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F90TQ%3D","line":993,"in_reply_to":"AAAATn%2F94jI%3D","updated":"2013-12-05 16:07:32.000000000","message":"Done","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"},{"author":{"_account_id":5313,"name":"David Peraza","email":"david_peraza@persistentsys.com","username":"dperaza"},"change_message_id":"a10334f1991042181524ad30688fd2e39d16a96f","unresolved":false,"context_lines":[{"line_number":1001,"context_line":"        :param trait_type: the name of the Trait to filter by"},{"line_number":1002,"context_line":"        \"\"\""},{"line_number":1003,"context_line":""},{"line_number":1004,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F94jE%3D","line":1004,"updated":"2013-12-04 22:01:05.000000000","message":"_()","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"ad97ba4f22cbb2954cd2e63081458b4d97c03e82","unresolved":false,"context_lines":[{"line_number":1001,"context_line":"        :param trait_type: the name of the Trait to filter by"},{"line_number":1002,"context_line":"        \"\"\""},{"line_number":1003,"context_line":""},{"line_number":1004,"context_line":"        raise NotImplementedError(\u0027Events not implemented.\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F90TM%3D","line":1004,"in_reply_to":"AAAATn%2F94jE%3D","updated":"2013-12-05 16:07:32.000000000","message":"Done","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"}],"ceilometer/storage/impl_sqlalchemy.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"45aab56bc698a4bed5f91263a88e62d43d0b56e8","unresolved":false,"context_lines":[{"line_number":1030,"context_line":"        event_models \u003d event_models_dict.values()"},{"line_number":1031,"context_line":"        return sorted(event_models, key\u003doperator.attrgetter(\u0027generated\u0027))"},{"line_number":1032,"context_line":""},{"line_number":1033,"context_line":"    def get_event_types(self):"},{"line_number":1034,"context_line":"        \"\"\"Return all event types as an iterable of strings."},{"line_number":1035,"context_line":"        \"\"\""},{"line_number":1036,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F9%2BZU%3D","line":1033,"updated":"2013-12-03 22:58:03.000000000","message":"i\u0027m guessing all three methods should be static since self isn\u0027t used","commit_id":"bed439472123d45ef4013281c86a96c4fddd0ca5"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"7581192bf63d949aae437747aaa13856c3bdb849","unresolved":false,"context_lines":[{"line_number":1030,"context_line":"        event_models \u003d event_models_dict.values()"},{"line_number":1031,"context_line":"        return sorted(event_models, key\u003doperator.attrgetter(\u0027generated\u0027))"},{"line_number":1032,"context_line":""},{"line_number":1033,"context_line":"    def get_event_types(self):"},{"line_number":1034,"context_line":"        \"\"\"Return all event types as an iterable of strings."},{"line_number":1035,"context_line":"        \"\"\""},{"line_number":1036,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F99t8%3D","line":1033,"in_reply_to":"AAAATn%2F9%2BZU%3D","updated":"2013-12-03 23:42:44.000000000","message":"Done","commit_id":"bed439472123d45ef4013281c86a96c4fddd0ca5"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"1ef6ff2ea53730aa37c1162bb26bb8931fde67b5","unresolved":false,"context_lines":[{"line_number":948,"context_line":"            if start:"},{"line_number":949,"context_line":"                event_filter_conditions.append(models.Event.generated \u003e\u003d start)"},{"line_number":950,"context_line":"            if end:"},{"line_number":951,"context_line":"                event_filter_conditions.append(models.Event.generated \u003c\u003d end)"},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"            if event_filter_conditions:"},{"line_number":954,"context_line":"                event_query \u003d event_query\\"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAATn%2F9Z%2Fw%3D","line":951,"updated":"2013-12-11 21:03:24.000000000","message":"I know the logic was pre-existing, but would it be better to make the interval semi-inclusive? i.e.\n\n start \u003c\u003d generated \u003c end\n\nas opposed to fully inclusive of the endpoints:\n\n start \u003c\u003d generated \u003c\u003d end\n\nIs there a usecase where the events over some longer timespan are being assigned to into disjoint timeslices? (in the style of the statistics API duration being split into periods)\n\nIn that case, you would want a semi-inclusive timerange, right? (to avoid the edge case where an event on boundary was counted into two timeslices)","commit_id":"5fa1f049f727fde5c4c5a920fcef75ca328c1732"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"3c0ef9f35d3c1efd18158185f0623df6b5ff6bc5","unresolved":false,"context_lines":[{"line_number":948,"context_line":"            if start:"},{"line_number":949,"context_line":"                event_filter_conditions.append(models.Event.generated \u003e\u003d start)"},{"line_number":950,"context_line":"            if end:"},{"line_number":951,"context_line":"                event_filter_conditions.append(models.Event.generated \u003c\u003d end)"},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"            if event_filter_conditions:"},{"line_number":954,"context_line":"                event_query \u003d event_query\\"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAATn%2F9ZpQ%3D","line":951,"in_reply_to":"AAAATn%2F9Z%2Fw%3D","updated":"2013-12-11 22:22:11.000000000","message":"Hm, this is a good question, tbh I have no idea. I\u0027m not sure that getting events within a timeslice is that common of a usecase as it is for samples. In any case, if we do want to change it, it should probably in a separate patch with an associated bug, since it would be a change to existing functionality.","commit_id":"5fa1f049f727fde5c4c5a920fcef75ca328c1732"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"36542bd06caa745edd91760b23e31cf45ef77fc6","unresolved":false,"context_lines":[{"line_number":948,"context_line":"            if start:"},{"line_number":949,"context_line":"                event_filter_conditions.append(models.Event.generated \u003e\u003d start)"},{"line_number":950,"context_line":"            if end:"},{"line_number":951,"context_line":"                event_filter_conditions.append(models.Event.generated \u003c\u003d end)"},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"            if event_filter_conditions:"},{"line_number":954,"context_line":"                event_query \u003d event_query\\"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAATn%2F9Xmw%3D","line":951,"in_reply_to":"AAAATn%2F9ZpQ%3D","updated":"2013-12-12 06:38:29.000000000","message":"agreed with a new patch to fix that If it\u0027s needed.","commit_id":"5fa1f049f727fde5c4c5a920fcef75ca328c1732"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"1ef6ff2ea53730aa37c1162bb26bb8931fde67b5","unresolved":false,"context_lines":[{"line_number":1082,"context_line":"                .join(models.Event, models.Event.id \u003d\u003d models.Trait.event_id)\\"},{"line_number":1083,"context_line":"                .join(models.EventType,"},{"line_number":1084,"context_line":"                      and_(models.EventType.id \u003d\u003d models.Event.event_type_id,"},{"line_number":1085,"context_line":"                           models.EventType.desc \u003d\u003d event_type))\\"},{"line_number":1086,"context_line":""},{"line_number":1087,"context_line":"            for trait in query.all():"},{"line_number":1088,"context_line":"                type \u003d trait.trait_type"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAATn%2F9aBM%3D","line":1085,"updated":"2013-12-11 21:03:24.000000000","message":"I\u0027m not a huge fan of heavy use of the continuation character, would it be cleaner to just parenthesize the entire session expression?","commit_id":"5fa1f049f727fde5c4c5a920fcef75ca328c1732"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"3c0ef9f35d3c1efd18158185f0623df6b5ff6bc5","unresolved":false,"context_lines":[{"line_number":1082,"context_line":"                .join(models.Event, models.Event.id \u003d\u003d models.Trait.event_id)\\"},{"line_number":1083,"context_line":"                .join(models.EventType,"},{"line_number":1084,"context_line":"                      and_(models.EventType.id \u003d\u003d models.Event.event_type_id,"},{"line_number":1085,"context_line":"                           models.EventType.desc \u003d\u003d event_type))\\"},{"line_number":1086,"context_line":""},{"line_number":1087,"context_line":"            for trait in query.all():"},{"line_number":1088,"context_line":"                type \u003d trait.trait_type"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAATn%2F9ZnA%3D","line":1085,"in_reply_to":"AAAATn%2F9aBM%3D","updated":"2013-12-11 22:22:11.000000000","message":"Alright, good idea. I\u0027ll push out an update with that change.","commit_id":"5fa1f049f727fde5c4c5a920fcef75ca328c1732"}],"ceilometer/storage/models.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"45aab56bc698a4bed5f91263a88e62d43d0b56e8","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                     DATETIME_TYPE: \"t_datetime\"}"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def get_type(self):"},{"line_number":97,"context_line":"        return self.int_to_string.get(self.dtype, \"t_text\")"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def __init__(self, name, dtype, value):"},{"line_number":100,"context_line":"        if not dtype:"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F9%2BbU%3D","line":97,"updated":"2013-12-03 22:58:03.000000000","message":"this doesn\u0027t seem to be used anywhere","commit_id":"bed439472123d45ef4013281c86a96c4fddd0ca5"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"7581192bf63d949aae437747aaa13856c3bdb849","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                     DATETIME_TYPE: \"t_datetime\"}"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def get_type(self):"},{"line_number":97,"context_line":"        return self.int_to_string.get(self.dtype, \"t_text\")"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def __init__(self, name, dtype, value):"},{"line_number":100,"context_line":"        if not dtype:"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F99t0%3D","line":97,"in_reply_to":"AAAATn%2F9%2BbU%3D","updated":"2013-12-03 23:42:44.000000000","message":"Done","commit_id":"bed439472123d45ef4013281c86a96c4fddd0ca5"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"68838320bd50a4a5a5ae164a05b13d3e2e4396ef","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    int_to_string \u003d {INT_TYPE: \"t_int\","},{"line_number":93,"context_line":"                     FLOAT_TYPE: \"t_float\","},{"line_number":94,"context_line":"                     DATETIME_TYPE: \"t_datetime\"}"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def __init__(self, name, dtype, value):"},{"line_number":97,"context_line":"        if not dtype:"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F966s%3D","line":94,"updated":"2013-12-04 22:36:25.000000000","message":"not used either","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"ad97ba4f22cbb2954cd2e63081458b4d97c03e82","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    int_to_string \u003d {INT_TYPE: \"t_int\","},{"line_number":93,"context_line":"                     FLOAT_TYPE: \"t_float\","},{"line_number":94,"context_line":"                     DATETIME_TYPE: \"t_datetime\"}"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def __init__(self, name, dtype, value):"},{"line_number":97,"context_line":"        if not dtype:"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F90Xg%3D","line":94,"in_reply_to":"AAAATn%2F966s%3D","updated":"2013-12-05 16:07:32.000000000","message":"I think this will be used in the API patch. I\u0027ll go ahead and remove it for now.","commit_id":"3bd322f7e65246438ebed257fa7829747f8fb511"}],"ceilometer/tests/storage/test_storage_scenarios.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"e2476d7774843ee3199bdc1c7b5283d5d7e7811c","unresolved":false,"context_lines":[{"line_number":2200,"context_line":"        # Ensure that the list of traits returned is distinct."},{"line_number":2201,"context_line":"        traits \u003d [t for t in"},{"line_number":2202,"context_line":"                  self.conn.get_traits_by_event_type(\"Bar\")]"},{"line_number":2203,"context_line":"        self.assertEqual(4, len(traits))"},{"line_number":2204,"context_line":""},{"line_number":2205,"context_line":"    def test_get_traits_with_name_for_event_type(self):"},{"line_number":2206,"context_line":"        traits \u003d self.conn.\\"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAATn%2F%2BegU%3D","line":2203,"updated":"2013-11-25 17:47:42.000000000","message":"I would merge that this the test above since it\u0027s the same method call :)","commit_id":"a39a89ac4cae3be43644580999ded0d95ebfd449"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"45aab56bc698a4bed5f91263a88e62d43d0b56e8","unresolved":false,"context_lines":[{"line_number":2140,"context_line":"        events \u003d self.conn.get_events(event_filter)"},{"line_number":2141,"context_line":"        self.assertEqual(2, len(events))"},{"line_number":2142,"context_line":"        self.assertEqual(events[0].event_type, \"Bar\")"},{"line_number":2143,"context_line":"        self.assertEqual(4, len(events[0].traits))"},{"line_number":2144,"context_line":""},{"line_number":2145,"context_line":"    def test_get_event_trait_filter(self):"},{"line_number":2146,"context_line":"        trait_filters \u003d [{\u0027key\u0027: \u0027trait_B\u0027, \u0027t_int\u0027: 101}]"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F99w8%3D","line":2143,"updated":"2013-12-03 22:58:03.000000000","message":"good to have a check that traits exists for both events and they are correct. (to verify it\u0027s not overriding or doing something else.)","commit_id":"bed439472123d45ef4013281c86a96c4fddd0ca5"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"7581192bf63d949aae437747aaa13856c3bdb849","unresolved":false,"context_lines":[{"line_number":2140,"context_line":"        events \u003d self.conn.get_events(event_filter)"},{"line_number":2141,"context_line":"        self.assertEqual(2, len(events))"},{"line_number":2142,"context_line":"        self.assertEqual(events[0].event_type, \"Bar\")"},{"line_number":2143,"context_line":"        self.assertEqual(4, len(events[0].traits))"},{"line_number":2144,"context_line":""},{"line_number":2145,"context_line":"    def test_get_event_trait_filter(self):"},{"line_number":2146,"context_line":"        trait_filters \u003d [{\u0027key\u0027: \u0027trait_B\u0027, \u0027t_int\u0027: 101}]"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F99tc%3D","line":2143,"in_reply_to":"AAAATn%2F99w8%3D","updated":"2013-12-03 23:42:44.000000000","message":"Done","commit_id":"bed439472123d45ef4013281c86a96c4fddd0ca5"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"45aab56bc698a4bed5f91263a88e62d43d0b56e8","unresolved":false,"context_lines":[{"line_number":2244,"context_line":"                                   [])]"},{"line_number":2245,"context_line":""},{"line_number":2246,"context_line":"        bad_events \u003d self.conn.record_events(new_events)"},{"line_number":2247,"context_line":"        event_filter \u003d storage.EventFilter(message_id\u003d\"id_testid\")"},{"line_number":2248,"context_line":"        events \u003d self.conn.get_events(event_filter)"},{"line_number":2249,"context_line":"        self.assertEqual(0, len(bad_events))"},{"line_number":2250,"context_line":"        self.assertEqual(1, len(events))"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F99yw%3D","line":2247,"updated":"2013-12-03 22:58:03.000000000","message":"i might be reading this wrong but EventFilter should take in at least two parameters... and none of them are message_id","commit_id":"bed439472123d45ef4013281c86a96c4fddd0ca5"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"cea01ebbc5ba6c7d8c035a44e1b5e6fb5993f310","unresolved":false,"context_lines":[{"line_number":2244,"context_line":"                                   [])]"},{"line_number":2245,"context_line":""},{"line_number":2246,"context_line":"        bad_events \u003d self.conn.record_events(new_events)"},{"line_number":2247,"context_line":"        event_filter \u003d storage.EventFilter(message_id\u003d\"id_testid\")"},{"line_number":2248,"context_line":"        events \u003d self.conn.get_events(event_filter)"},{"line_number":2249,"context_line":"        self.assertEqual(0, len(bad_events))"},{"line_number":2250,"context_line":"        self.assertEqual(1, len(events))"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F9660%3D","line":2247,"in_reply_to":"AAAATn%2F99lc%3D","updated":"2013-12-04 13:45:58.000000000","message":"yeah, i\u0027m an idiot. i was comparing to the my workspace EventFilter (which didn\u0027t have your changes)","commit_id":"bed439472123d45ef4013281c86a96c4fddd0ca5"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"7581192bf63d949aae437747aaa13856c3bdb849","unresolved":false,"context_lines":[{"line_number":2244,"context_line":"                                   [])]"},{"line_number":2245,"context_line":""},{"line_number":2246,"context_line":"        bad_events \u003d self.conn.record_events(new_events)"},{"line_number":2247,"context_line":"        event_filter \u003d storage.EventFilter(message_id\u003d\"id_testid\")"},{"line_number":2248,"context_line":"        events \u003d self.conn.get_events(event_filter)"},{"line_number":2249,"context_line":"        self.assertEqual(0, len(bad_events))"},{"line_number":2250,"context_line":"        self.assertEqual(1, len(events))"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F99lc%3D","line":2247,"in_reply_to":"AAAATn%2F99yw%3D","updated":"2013-12-03 23:42:44.000000000","message":"One of the changes in this patch was to remove enforcement of start/end times in the event filter. So, there are no required params.","commit_id":"bed439472123d45ef4013281c86a96c4fddd0ca5"}]}
