)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"517297732969c8dc43f87c0642351670d3eb98f4","unresolved":false,"context_lines":[{"line_number":19,"context_line":"to OutputStackedAreaDeprecatedChart to avoid name conflict"},{"line_number":20,"context_line":"with new class. Proper NOTE is added."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Also proporty Table.COLUMNS is renamed to lowercase."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Change-Id: I5cc4f34502fe308b775fdefa5d1bd90131b4d26b"},{"line_number":25,"context_line":"Implements: spec improve_scenario_output_format.rst"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"fa69d971_f7491cb8","line":22,"range":{"start_line":22,"start_character":5,"end_line":22,"end_character":13},"updated":"2016-01-05 10:13:13.000000000","message":"property","commit_id":"19ff11827350e612418f3783dc78880de3cf3745"}],"rally/task/processing/charts.py":[{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"af4005d8b1fa27b484b17e88cb3b25888c83df05","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        for name, value in self._map_iteration_values(iteration):"},{"line_number":379,"context_line":"            if name not in self._data:"},{"line_number":380,"context_line":"                iters_num \u003d self._benchmark_info[\"iterations_count\"]"},{"line_number":381,"context_line":"                self._data[name] \u003d ["},{"line_number":382,"context_line":"                    [streaming.MinComputation(), None],"},{"line_number":383,"context_line":"                    [streaming.PercentileComputation(0.5, iters_num), None],"},{"line_number":384,"context_line":"                    [streaming.PercentileComputation(0.9, iters_num), None],"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a710552_9c9b7ac9","line":381,"updated":"2015-12-15 15:22:00.000000000","message":"Can we please have a description of expected data structure in \u0027_data\u0027 ?","commit_id":"6c914eca19be7bffb2a2e11e4fde63d4b6083df7"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"f0670212044c77ed1cd062eb825e63d64cfe61af","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        for name, value in self._map_iteration_values(iteration):"},{"line_number":379,"context_line":"            if name not in self._data:"},{"line_number":380,"context_line":"                iters_num \u003d self._benchmark_info[\"iterations_count\"]"},{"line_number":381,"context_line":"                self._data[name] \u003d ["},{"line_number":382,"context_line":"                    [streaming.MinComputation(), None],"},{"line_number":383,"context_line":"                    [streaming.PercentileComputation(0.5, iters_num), None],"},{"line_number":384,"context_line":"                    [streaming.PercentileComputation(0.9, iters_num), None],"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a710552_e50c5e3d","line":381,"in_reply_to":"5a710552_1742053f","updated":"2015-12-15 16:39:14.000000000","message":"L39 only states that is is an OrderedDict. What I asked about is description of keys and values. For what I could see, value is expected to be a list of lists, but what do these lists should contain? And what actually \u0027name\u0027 is?","commit_id":"6c914eca19be7bffb2a2e11e4fde63d4b6083df7"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"333a1192e9a7ec14a7ab6eb83b582f94e10e1fd0","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        for name, value in self._map_iteration_values(iteration):"},{"line_number":379,"context_line":"            if name not in self._data:"},{"line_number":380,"context_line":"                iters_num \u003d self._benchmark_info[\"iterations_count\"]"},{"line_number":381,"context_line":"                self._data[name] \u003d ["},{"line_number":382,"context_line":"                    [streaming.MinComputation(), None],"},{"line_number":383,"context_line":"                    [streaming.PercentileComputation(0.5, iters_num), None],"},{"line_number":384,"context_line":"                    [streaming.PercentileComputation(0.9, iters_num), None],"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a710552_1742053f","line":381,"in_reply_to":"5a710552_9c9b7ac9","updated":"2015-12-15 15:35:27.000000000","message":"See L39. `_data\u0027 is a container for chart results, it is initialized in base class Chart","commit_id":"6c914eca19be7bffb2a2e11e4fde63d4b6083df7"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"b07f7bb51d615e14f564ea17ecb81788dc520315","unresolved":false,"context_lines":[{"line_number":387,"context_line":"                    [streaming.MaxComputation(), None],"},{"line_number":388,"context_line":"                    [streaming.MeanComputation(), None],"},{"line_number":389,"context_line":"                    [streaming.IncrementComputation(),"},{"line_number":390,"context_line":"                     lambda v, na: v.result()]]"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"            self._data[name][-1][0].add(None)"},{"line_number":393,"context_line":"            self._data[name][-2][0].add(1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_48c5473a","line":390,"updated":"2015-12-15 16:38:40.000000000","message":"It is not the first time when _data is used yet it is not documented anywhere.","commit_id":"e68a0a9a224f6667162828fca5c036e77b8b379f"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"2d9d090956d87317783b293d07d3d721c6a43990","unresolved":false,"context_lines":[{"line_number":387,"context_line":"                    [streaming.MaxComputation(), None],"},{"line_number":388,"context_line":"                    [streaming.MeanComputation(), None],"},{"line_number":389,"context_line":"                    [streaming.IncrementComputation(),"},{"line_number":390,"context_line":"                     lambda v, na: v.result()]]"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"            self._data[name][-1][0].add(None)"},{"line_number":393,"context_line":"            self._data[name][-2][0].add(1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_591e7b64","line":390,"in_reply_to":"5a710552_2b03150f","updated":"2015-12-15 17:15:51.000000000","message":"I replied in the previous patch, there is a comment but it left me absolutely clueless about what exactly should I put in _data.\nIf it is an std property then please could you provide a link to the library that introduced it, so that I could google documentation for it.","commit_id":"e68a0a9a224f6667162828fca5c036e77b8b379f"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"9aa2e3ac10c23d23712a02488b83a2863e1f403e","unresolved":false,"context_lines":[{"line_number":387,"context_line":"                    [streaming.MaxComputation(), None],"},{"line_number":388,"context_line":"                    [streaming.MeanComputation(), None],"},{"line_number":389,"context_line":"                    [streaming.IncrementComputation(),"},{"line_number":390,"context_line":"                     lambda v, na: v.result()]]"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"            self._data[name][-1][0].add(None)"},{"line_number":393,"context_line":"            self._data[name][-2][0].add(1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_f9b9677a","line":390,"in_reply_to":"5a710552_39304f9e","updated":"2015-12-15 17:33:59.000000000","message":"In fact we need. I see that _data is an OrderedDict, that\u0027s great. ANd I see that results should be stored there. What I want is a description of the form in which the results should be stored. I see that keys are used as \u0027names\u0027. But names of what? And each value is a list of lists, and each of those lists contain streaming algo and usually None. Or some times a lambda. (Not to mention that heterogeneous lists suck themselves) Why are those alogos there? Why are those None\u0027s there? What those lambdas are supposed to do.\n\nI do believe that all other subclasses use _data. And I really hope that they use it in the same manner. Yet I think that it\u0027s structure is cumbersome, confusing, non-obvious and error-prone. \n\nI asked for description not for the sake of description but because I can not understand how should I use it if I eventually have to.","commit_id":"e68a0a9a224f6667162828fca5c036e77b8b379f"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"6fe962b3f3b7bdc356034b295fe913e4b5634aa6","unresolved":false,"context_lines":[{"line_number":387,"context_line":"                    [streaming.MaxComputation(), None],"},{"line_number":388,"context_line":"                    [streaming.MeanComputation(), None],"},{"line_number":389,"context_line":"                    [streaming.IncrementComputation(),"},{"line_number":390,"context_line":"                     lambda v, na: v.result()]]"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"            self._data[name][-1][0].add(None)"},{"line_number":393,"context_line":"            self._data[name][-2][0].add(1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_619a7565","line":390,"in_reply_to":"5a710552_4165f9de","updated":"2015-12-16 10:37:43.000000000","message":"2) I know what \u0027_\u0027 means. I just mean that _data is used in other places too, so it\u0027s better for it to be documented.\n1) tnx, I\u0027ll -1 the patch with base class and let this one go )","commit_id":"e68a0a9a224f6667162828fca5c036e77b8b379f"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"d510daa34001d504a7bebe5060d60e9f2c25d65d","unresolved":false,"context_lines":[{"line_number":387,"context_line":"                    [streaming.MaxComputation(), None],"},{"line_number":388,"context_line":"                    [streaming.MeanComputation(), None],"},{"line_number":389,"context_line":"                    [streaming.IncrementComputation(),"},{"line_number":390,"context_line":"                     lambda v, na: v.result()]]"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"            self._data[name][-1][0].add(None)"},{"line_number":393,"context_line":"            self._data[name][-2][0].add(1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_2b03150f","line":390,"in_reply_to":"5a710552_48c5473a","updated":"2015-12-15 16:41:41.000000000","message":"_data is a standard propery initialized in base class Chart.\nThis property even has an in-line comment. Look at line 39","commit_id":"e68a0a9a224f6667162828fca5c036e77b8b379f"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"5afe0b433f9da8442c1af8450792a33b4c5f4877","unresolved":false,"context_lines":[{"line_number":387,"context_line":"                    [streaming.MaxComputation(), None],"},{"line_number":388,"context_line":"                    [streaming.MeanComputation(), None],"},{"line_number":389,"context_line":"                    [streaming.IncrementComputation(),"},{"line_number":390,"context_line":"                     lambda v, na: v.result()]]"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"            self._data[name][-1][0].add(None)"},{"line_number":393,"context_line":"            self._data[name][-2][0].add(1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_39304f9e","line":390,"in_reply_to":"5a710552_591e7b64","updated":"2015-12-15 17:23:18.000000000","message":"What library? :) _data is a property that is initilalized in base class! It even has a comment \"Container for results\" and it has explicit type OrderedDict\n\n*All* charts except Table (until this patch is introduced) use this property - for results. Because *each* chart has results so there is no reason to initialize some property in each chart - we do this once in the very base class. And there was a wrong usage of self.table for this before, in tables - now each Table uses self._data - in the same way as this do other Chart subclasses. Do we really need big comment for that?","commit_id":"e68a0a9a224f6667162828fca5c036e77b8b379f"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"019797271539b81c9015d7e8d0619b5c4f9b6ccd","unresolved":false,"context_lines":[{"line_number":387,"context_line":"                    [streaming.MaxComputation(), None],"},{"line_number":388,"context_line":"                    [streaming.MeanComputation(), None],"},{"line_number":389,"context_line":"                    [streaming.IncrementComputation(),"},{"line_number":390,"context_line":"                     lambda v, na: v.result()]]"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"            self._data[name][-1][0].add(None)"},{"line_number":393,"context_line":"            self._data[name][-2][0].add(1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_9289f928","line":390,"in_reply_to":"5a710552_878c7580","updated":"2015-12-16 09:13:38.000000000","message":"\u003e _data is provided by base class, for results. How results are stored in this  property - this depends on specific chart implementation. Do you really want to add to *each* chart class in this module a documentation how this each class uses specific property? And probably do the same for other properties?\n\nAs you wrote, _data is provided by base class, more over it is processed by base class in a way that does not depend on implementation of derived classes. It means that _data is supposed to store maybe slightly different data but in well defined (but not described (( ) way. So it is enough to document it in just one place. \nThis attribute\u0027s name starts with \u0027_\u0027 so one could expect that it is a thing totally internal to the base class. In such case we could omit description if there is enough test coverage. Unfortunately, it\u0027s not the case. \u0027_data\u0027 is extensively used in derived classes yet left undocumented.","commit_id":"e68a0a9a224f6667162828fca5c036e77b8b379f"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"b9ac970e1dda09e827ff899c528184ae211060d2","unresolved":false,"context_lines":[{"line_number":387,"context_line":"                    [streaming.MaxComputation(), None],"},{"line_number":388,"context_line":"                    [streaming.MeanComputation(), None],"},{"line_number":389,"context_line":"                    [streaming.IncrementComputation(),"},{"line_number":390,"context_line":"                     lambda v, na: v.result()]]"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"            self._data[name][-1][0].add(None)"},{"line_number":393,"context_line":"            self._data[name][-2][0].add(1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_4165f9de","line":390,"in_reply_to":"5a710552_9289f928","updated":"2015-12-16 10:30:52.000000000","message":"1) I will add some explanation about data in previous patch in this chain (where Table class is introduced) since all Table subclasses uses _data in same manner, not this specific class\n\n2) prefix \u0027_\u0027 does not mean \"totally internal\".\nFrom pep8:\n\n _single_leading_underscore : weak \"internal use\" indicator. E.g. from M import * does not import objects whose name starts with an underscore.","commit_id":"e68a0a9a224f6667162828fca5c036e77b8b379f"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"c9742bae39a1fba338e170ea8f68795bdee5e14b","unresolved":false,"context_lines":[{"line_number":387,"context_line":"                    [streaming.MaxComputation(), None],"},{"line_number":388,"context_line":"                    [streaming.MeanComputation(), None],"},{"line_number":389,"context_line":"                    [streaming.IncrementComputation(),"},{"line_number":390,"context_line":"                     lambda v, na: v.result()]]"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"            self._data[name][-1][0].add(None)"},{"line_number":393,"context_line":"            self._data[name][-2][0].add(1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_878c7580","line":390,"in_reply_to":"5a710552_f9b9677a","updated":"2015-12-15 19:44:57.000000000","message":"_data is provided by base class, for results. How results are stored in this property - this depends on specific chart implementation. Do you really want to add to *each* chart class in this module a documentation how this each class uses specific property? And probably do the same for other properties?\n\n\u003e Why are those alogos there\n\nbecause we use streaming processing, so we are able to process unlimited data, and moreover, we can process this data with low memory usage\n\n\n\n\u003e What those lambdas are supposed to do\n\nSee L298\n\n\n\u003e I asked for description not for the sake of description but because I can not understand how should I use it if I eventually have to.\n\nYes, this module is complicated - because it does complicated things :) It\u0027s hard to understand these classes from first sight","commit_id":"e68a0a9a224f6667162828fca5c036e77b8b379f"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"c867d00bfa54aed85983d415113086b8c6f58bc5","unresolved":false,"context_lines":[{"line_number":372,"context_line":"    \"\"\"Base class for charts related to scenario output.\"\"\""},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"    @abc.abstractproperty"},{"line_number":375,"context_line":"    def WIDGET(self):"},{"line_number":376,"context_line":"        \"\"\"Widget name to display this chart by JavaScript.\"\"\""},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"    def __init__(self, benchmark_info, zipped_size\u003d1000, title\u003d\"\"):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a7b0d38_b644f71a","line":375,"updated":"2015-12-28 12:55:49.000000000","message":"DO we really need abstractproperties so much?\nwhy it\u0027s caps locked? \nWhy the name is Widget and not widget_type or widget_name ?","commit_id":"5ca9f448ec95c87c7145e3aef4dbd3a45fcf2c9d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"b27047ba13f9103b9910982c04450f9fac6be27f","unresolved":false,"context_lines":[{"line_number":372,"context_line":"    \"\"\"Base class for charts related to scenario output.\"\"\""},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"    @abc.abstractproperty"},{"line_number":375,"context_line":"    def WIDGET(self):"},{"line_number":376,"context_line":"        \"\"\"Widget name to display this chart by JavaScript.\"\"\""},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"    def __init__(self, benchmark_info, zipped_size\u003d1000, title\u003d\"\"):"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa69d971_90dcfc47","line":375,"in_reply_to":"1a7b0d38_b644f71a","updated":"2015-12-29 16:49:17.000000000","message":"Widget must be defined for each OutputChart subclass, that is why it is explicitly added to abstract class.\n\nI will change style to lowercase.\n\nThere are no another types except `str\u0027 that can represent widget, so the shortest name has been chosen.","commit_id":"5ca9f448ec95c87c7145e3aef4dbd3a45fcf2c9d"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"c867d00bfa54aed85983d415113086b8c6f58bc5","unresolved":false,"context_lines":[{"line_number":375,"context_line":"    def WIDGET(self):"},{"line_number":376,"context_line":"        \"\"\"Widget name to display this chart by JavaScript.\"\"\""},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"    def __init__(self, benchmark_info, zipped_size\u003d1000, title\u003d\"\"):"},{"line_number":379,"context_line":"        super(OutputChart, self).__init__(benchmark_info, zipped_size)"},{"line_number":380,"context_line":"        self.title \u003d title"},{"line_number":381,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a7b0d38_d6ebc311","line":378,"updated":"2015-12-28 12:55:49.000000000","message":"we need to have \"description\" field as well","commit_id":"5ca9f448ec95c87c7145e3aef4dbd3a45fcf2c9d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"b27047ba13f9103b9910982c04450f9fac6be27f","unresolved":false,"context_lines":[{"line_number":375,"context_line":"    def WIDGET(self):"},{"line_number":376,"context_line":"        \"\"\"Widget name to display this chart by JavaScript.\"\"\""},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"    def __init__(self, benchmark_info, zipped_size\u003d1000, title\u003d\"\"):"},{"line_number":379,"context_line":"        super(OutputChart, self).__init__(benchmark_info, zipped_size)"},{"line_number":380,"context_line":"        self.title \u003d title"},{"line_number":381,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"fa69d971_30ee70ed","line":378,"in_reply_to":"1a7b0d38_d6ebc311","updated":"2015-12-29 16:49:17.000000000","message":"Will do","commit_id":"5ca9f448ec95c87c7145e3aef4dbd3a45fcf2c9d"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"517297732969c8dc43f87c0642351670d3eb98f4","unresolved":false,"context_lines":[{"line_number":276,"context_line":""},{"line_number":277,"context_line":"    Each Table subclass represents HTML table which can be easily rendered in"},{"line_number":278,"context_line":"    report. Subclasses are responsible for setting up both columns and rows:"},{"line_number":279,"context_line":"    columns are set simply by `columns\u0027 property (list of str columns names)"},{"line_number":280,"context_line":"    and rows must be initialized in _data property, with the following format:"},{"line_number":281,"context_line":"        self._data \u003d {name: [streaming_ins, postprocess_func or None], ...}"},{"line_number":282,"context_line":"          where:"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa69d971_d7e3b8a2","line":279,"range":{"start_line":279,"start_character":30,"end_line":279,"end_character":39},"updated":"2016-01-05 10:13:13.000000000","message":"mismatching quotes ` and \u0027","commit_id":"19ff11827350e612418f3783dc78880de3cf3745"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"cf4e9bed4994522f8156fe17c8895df70b6f422e","unresolved":false,"context_lines":[{"line_number":276,"context_line":""},{"line_number":277,"context_line":"    Each Table subclass represents HTML table which can be easily rendered in"},{"line_number":278,"context_line":"    report. Subclasses are responsible for setting up both columns and rows:"},{"line_number":279,"context_line":"    columns are set simply by `columns\u0027 property (list of str columns names)"},{"line_number":280,"context_line":"    and rows must be initialized in _data property, with the following format:"},{"line_number":281,"context_line":"        self._data \u003d {name: [streaming_ins, postprocess_func or None], ...}"},{"line_number":282,"context_line":"          where:"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa69d971_a2284087","line":279,"range":{"start_line":279,"start_character":30,"end_line":279,"end_character":39},"in_reply_to":"fa69d971_d7e3b8a2","updated":"2016-01-05 10:17:28.000000000","message":"This is not mismatching, this is a GNU style for quoting code https://www.gnu.org/prep/standards/html_node/Quote-Characters.html","commit_id":"19ff11827350e612418f3783dc78880de3cf3745"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"79f557c3abca421982dd996317a6bc4f254d561a","unresolved":false,"context_lines":[{"line_number":378,"context_line":"    def __init__(self, workload_info,"},{"line_number":379,"context_line":"                 zipped_size\u003d1000, title\u003d\"\", description\u003d\"\"):"},{"line_number":380,"context_line":"        super(OutputChart, self).__init__(workload_info, zipped_size)"},{"line_number":381,"context_line":"        self.title \u003d title"},{"line_number":382,"context_line":"        self.description \u003d description"},{"line_number":383,"context_line":""},{"line_number":384,"context_line":"    def _map_iteration_values(self, iteration):"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa69d971_4e150347","line":381,"updated":"2016-01-05 00:04:55.000000000","message":"I believe in future we should put title and description to base Chart class.","commit_id":"19ff11827350e612418f3783dc78880de3cf3745"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"4557bb5a2d38f2a0d4bb93a803b3e8c59b6893dd","unresolved":false,"context_lines":[{"line_number":378,"context_line":"    def __init__(self, workload_info,"},{"line_number":379,"context_line":"                 zipped_size\u003d1000, title\u003d\"\", description\u003d\"\"):"},{"line_number":380,"context_line":"        super(OutputChart, self).__init__(workload_info, zipped_size)"},{"line_number":381,"context_line":"        self.title \u003d title"},{"line_number":382,"context_line":"        self.description \u003d description"},{"line_number":383,"context_line":""},{"line_number":384,"context_line":"    def _map_iteration_values(self, iteration):"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa69d971_02302ce7","line":381,"in_reply_to":"fa69d971_4e150347","updated":"2016-01-05 10:17:59.000000000","message":"Sure","commit_id":"19ff11827350e612418f3783dc78880de3cf3745"}]}
