)]}'
{"specs/kilo/graduate-oslo-reports.rst":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"0c15be249360cf652aead1365007949c41c509c7","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"https://blueprints.launchpad.net/oslo-incubator/+spec/graduate-oslo-reports"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"The `reports` module currently provides and convienient way to assemble"},{"line_number":8,"context_line":"\"Guru Meditation Reports\" about the current state a of a given OpenStack"},{"line_number":9,"context_line":"process.  The basic report includes thread (both normal and green) state"},{"line_number":10,"context_line":"and stack traces, as well as configuration and version information.  The"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_9391f254","line":7,"updated":"2014-11-19 21:12:35.000000000","message":"typo in case there is another draft of this: \"and\" -\u003e \"a\"","commit_id":"5957ff1b221106af45b47b67970e291ae3be60bf"},{"author":{"_account_id":7677,"name":"Solly Ross","email":"sross@redhat.com","username":"sross"},"change_message_id":"92f90192f1ec78d56a33de93ddf9f5a8a3203982","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"https://blueprints.launchpad.net/oslo-incubator/+spec/graduate-oslo-reports"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"The `reports` module currently provides and convienient way to assemble"},{"line_number":8,"context_line":"\"Guru Meditation Reports\" about the current state a of a given OpenStack"},{"line_number":9,"context_line":"process.  The basic report includes thread (both normal and green) state"},{"line_number":10,"context_line":"and stack traces, as well as configuration and version information.  The"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_3fad019c","line":7,"in_reply_to":"5a890539_9391f254","updated":"2014-12-02 22:04:30.000000000","message":"Done","commit_id":"5957ff1b221106af45b47b67970e291ae3be60bf"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"0c15be249360cf652aead1365007949c41c509c7","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Library Name"},{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"The library will be called \"oslo.reports\".  The current name in the the"},{"line_number":21,"context_line":"incubator is \"openstack.common.report\", but pluralizing the name seems more"},{"line_number":22,"context_line":"natural."},{"line_number":23,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_73a2c69b","line":20,"updated":"2014-11-19 21:12:35.000000000","message":"Can we be more descriptive than \"reports\"? Even \"gurureports\" is better, although I\u0027m not sure everyone is going to get the cultural reference.","commit_id":"5957ff1b221106af45b47b67970e291ae3be60bf"},{"author":{"_account_id":7677,"name":"Solly Ross","email":"sross@redhat.com","username":"sross"},"change_message_id":"92f90192f1ec78d56a33de93ddf9f5a8a3203982","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Library Name"},{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"The library will be called \"oslo.reports\".  The current name in the the"},{"line_number":21,"context_line":"incubator is \"openstack.common.report\", but pluralizing the name seems more"},{"line_number":22,"context_line":"natural."},{"line_number":23,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_dad32b36","line":20,"in_reply_to":"5a890539_73a2c69b","updated":"2014-12-02 22:04:30.000000000","message":"Well, it\u0027s generally intended to be a framework for building arbitrary report-type-things with a generator-model-view pattern.  \"gurureports\" would be acceptible, but it\u0027s intended not to be guru-meditation-report-specific.","commit_id":"5957ff1b221106af45b47b67970e291ae3be60bf"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"217a510d134ede2264bb03897ab1b08963430084","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Library Name"},{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"The library will be called \"oslo.reports\".  The current name in the the"},{"line_number":21,"context_line":"incubator is \"openstack.common.report\", but pluralizing the name seems more"},{"line_number":22,"context_line":"natural."},{"line_number":23,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_ba389aef","line":20,"in_reply_to":"5a890539_dad32b36","updated":"2014-12-05 17:24:54.000000000","message":"OK, in that case the more generic name is good.","commit_id":"5957ff1b221106af45b47b67970e291ae3be60bf"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"0c15be249360cf652aead1365007949c41c509c7","unresolved":false,"context_lines":[{"line_number":76,"context_line":"`reports.generators`"},{"line_number":77,"context_line":"  Contains the submodules containing generator code: `conf`, `threading`,"},{"line_number":78,"context_line":"  `version` (not that there is no `base` module here since generators are"},{"line_number":79,"context_line":"  just callables)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"`reports.models`"},{"line_number":82,"context_line":"  Contains the submodules containing the base model classes (`base` and"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_73c9e659","line":79,"updated":"2014-11-19 21:12:35.000000000","message":"Does something outside of the library call these? Are they, for example, added to a report in a way that a subclass defined outside of the library would need to access them? Or can we hid this package?","commit_id":"5957ff1b221106af45b47b67970e291ae3be60bf"},{"author":{"_account_id":7677,"name":"Solly Ross","email":"sross@redhat.com","username":"sross"},"change_message_id":"92f90192f1ec78d56a33de93ddf9f5a8a3203982","unresolved":false,"context_lines":[{"line_number":76,"context_line":"`reports.generators`"},{"line_number":77,"context_line":"  Contains the submodules containing generator code: `conf`, `threading`,"},{"line_number":78,"context_line":"  `version` (not that there is no `base` module here since generators are"},{"line_number":79,"context_line":"  just callables)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"`reports.models`"},{"line_number":82,"context_line":"  Contains the submodules containing the base model classes (`base` and"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_ff9a9912","line":79,"in_reply_to":"5a890539_73c9e659","updated":"2014-12-02 22:04:30.000000000","message":"Yes -- if someone wanted to implement a custom report that didn\u0027t have some of the default sections, they\u0027d need to add the generators that they wanted (for instance, they might want \"Threads\" and \"Green Threads\" but not \"Package\" and \"Configuration\").  In this case, they\u0027d add the appropriate sections in to a new subclass of report.TextReport (or some other Report subclass), and to add the sections, you need the generators.","commit_id":"5957ff1b221106af45b47b67970e291ae3be60bf"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"0c15be249360cf652aead1365007949c41c509c7","unresolved":false,"context_lines":[{"line_number":89,"context_line":"  respectively).  Note that each of the serialization-formatting submodules"},{"line_number":90,"context_line":"  contains a `generic` submodule containing generic classes, and the"},{"line_number":91,"context_line":"  `text` submodule additionally contains several implementation-specific"},{"line_number":92,"context_line":"  submodulesls (`header` and `threading`)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"The following submodules do not necessarily need to be public:"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_b3da6e15","line":92,"updated":"2014-11-19 21:12:35.000000000","message":"Do the views themselves need to be exposed, or can we expose a mechanism for selecting a view without exposing the view classes?","commit_id":"5957ff1b221106af45b47b67970e291ae3be60bf"},{"author":{"_account_id":7677,"name":"Solly Ross","email":"sross@redhat.com","username":"sross"},"change_message_id":"92f90192f1ec78d56a33de93ddf9f5a8a3203982","unresolved":false,"context_lines":[{"line_number":89,"context_line":"  respectively).  Note that each of the serialization-formatting submodules"},{"line_number":90,"context_line":"  contains a `generic` submodule containing generic classes, and the"},{"line_number":91,"context_line":"  `text` submodule additionally contains several implementation-specific"},{"line_number":92,"context_line":"  submodulesls (`header` and `threading`)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"The following submodules do not necessarily need to be public:"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_fad54743","line":92,"in_reply_to":"5a890539_b3da6e15","updated":"2014-12-02 22:04:30.000000000","message":"ModelWithDefaultViews will automatically switch views based on whether you are serializing to plain text, JSON, or XML.  By default ModelWithDefaultViews will use the Key-Value view for the given format.  However, one may wish to use a custom view.  Several of the views are designed to be base views or reusable views for this purpose (e.g. the Jinja view, which renders a view either stored in a text file or read from a class property).\n\nIt would acceptable to \"hide\" the model-specific views (i.e. those in views/text/threading.py), but the rest should stay public so that they can be used when appropriate (for instance, TableView is not currently used by default, but may be appropriate for a given model).","commit_id":"5957ff1b221106af45b47b67970e291ae3be60bf"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"217a510d134ede2264bb03897ab1b08963430084","unresolved":false,"context_lines":[{"line_number":89,"context_line":"  respectively).  Note that each of the serialization-formatting submodules"},{"line_number":90,"context_line":"  contains a `generic` submodule containing generic classes, and the"},{"line_number":91,"context_line":"  `text` submodule additionally contains several implementation-specific"},{"line_number":92,"context_line":"  submodulesls (`header` and `threading`)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"The following submodules do not necessarily need to be public:"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_dde9e0b8","line":92,"in_reply_to":"5a890539_fad54743","updated":"2014-12-05 17:24:54.000000000","message":"OK, it sounds like the views are used in a way that means they need to be part of the public API. If the threading view is a special case, that can either be public or private.","commit_id":"5957ff1b221106af45b47b67970e291ae3be60bf"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"0c15be249360cf652aead1365007949c41c509c7","unresolved":false,"context_lines":[{"line_number":94,"context_line":"The following submodules do not necessarily need to be public:"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"`reports.utils`"},{"line_number":97,"context_line":"  Contains a utility class for attaching attributes to strings, as well as"},{"line_number":98,"context_line":"  a function for finding all objects of a particular class using the garbage"},{"line_number":99,"context_line":"  collector functionality.  Neither of these need to be exposed as public,"},{"line_number":100,"context_line":"  and the object-finding function can be moved into the file of the generator"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_13098295","line":97,"updated":"2014-11-19 21:12:35.000000000","message":"Should that go into oslo.utils instead?","commit_id":"5957ff1b221106af45b47b67970e291ae3be60bf"},{"author":{"_account_id":7677,"name":"Solly Ross","email":"sross@redhat.com","username":"sross"},"change_message_id":"92f90192f1ec78d56a33de93ddf9f5a8a3203982","unresolved":false,"context_lines":[{"line_number":94,"context_line":"The following submodules do not necessarily need to be public:"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"`reports.utils`"},{"line_number":97,"context_line":"  Contains a utility class for attaching attributes to strings, as well as"},{"line_number":98,"context_line":"  a function for finding all objects of a particular class using the garbage"},{"line_number":99,"context_line":"  collector functionality.  Neither of these need to be exposed as public,"},{"line_number":100,"context_line":"  and the object-finding function can be moved into the file of the generator"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_3a5a6ff2","line":97,"in_reply_to":"5a890539_13098295","updated":"2014-12-02 22:04:30.000000000","message":"Maybe?  It\u0027s literally just\n \n    class StringWithAttrs(str):\n        pass\n\nand I\u0027m not sure if anyone else would use it.","commit_id":"5957ff1b221106af45b47b67970e291ae3be60bf"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"217a510d134ede2264bb03897ab1b08963430084","unresolved":false,"context_lines":[{"line_number":94,"context_line":"The following submodules do not necessarily need to be public:"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"`reports.utils`"},{"line_number":97,"context_line":"  Contains a utility class for attaching attributes to strings, as well as"},{"line_number":98,"context_line":"  a function for finding all objects of a particular class using the garbage"},{"line_number":99,"context_line":"  collector functionality.  Neither of these need to be exposed as public,"},{"line_number":100,"context_line":"  and the object-finding function can be moved into the file of the generator"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_fd64dce7","line":97,"in_reply_to":"5a890539_3a5a6ff2","updated":"2014-12-05 17:24:54.000000000","message":"OK","commit_id":"5957ff1b221106af45b47b67970e291ae3be60bf"}]}
