)]}'
{"doc/source/topics/settings.rst":[{"author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"change_message_id":"4c8fc16bb44863dfe8ac3dc5cc1add4a40fb371b","unresolved":false,"context_lines":[{"line_number":346,"context_line":"installation would therefore require modifying the settings file. This is not"},{"line_number":347,"context_line":"optimal, so the dashboards can provide the settings that they require in a"},{"line_number":348,"context_line":"separate file. Those files are read at startup and used to modify the default"},{"line_number":349,"context_line":"settings. "},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"The default location for the dashboard configuration files is"},{"line_number":352,"context_line":"``openstack_dashboard/enabled``, with another directory,"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAATn%2F%2BGOE%3D","line":349,"updated":"2013-12-02 16:07:19.000000000","message":"could you please remove the trailing space?","commit_id":"067adcd9e693c31b3abee458206bb107ec84e88b"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"736d1dc61b35b70ac6c0bdaf40e5c54735148d45","unresolved":false,"context_lines":[{"line_number":346,"context_line":"installation would therefore require modifying the settings file. This is not"},{"line_number":347,"context_line":"optimal, so the dashboards can provide the settings that they require in a"},{"line_number":348,"context_line":"separate file. Those files are read at startup and used to modify the default"},{"line_number":349,"context_line":"settings. "},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"The default location for the dashboard configuration files is"},{"line_number":352,"context_line":"``openstack_dashboard/enabled``, with another directory,"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAATn%2F97yE%3D","line":349,"in_reply_to":"AAAATn%2F%2BGOE%3D","updated":"2013-12-04 09:45:14.000000000","message":"Done","commit_id":"067adcd9e693c31b3abee458206bb107ec84e88b"}],"openstack_dashboard/enabled/_10_project.py":[{"author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"change_message_id":"4c8fc16bb44863dfe8ac3dc5cc1add4a40fb371b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"DASHBOARD \u003d \u0027project\u0027"},{"line_number":2,"context_line":"DEFAULT \u003d True"},{"line_number":3,"context_line":"ADD_EXCEPTIONS \u003d {}"},{"line_number":4,"context_line":"ADD_INSTALLED_APPS \u003d ["},{"line_number":5,"context_line":"    \u0027openstack_dashboard.dashboards.project\u0027,"},{"line_number":6,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F%2BGME%3D","line":3,"updated":"2013-12-02 16:07:19.000000000","message":"could you please add docs about the settings here as well?","commit_id":"067adcd9e693c31b3abee458206bb107ec84e88b"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"736d1dc61b35b70ac6c0bdaf40e5c54735148d45","unresolved":false,"context_lines":[{"line_number":1,"context_line":"DASHBOARD \u003d \u0027project\u0027"},{"line_number":2,"context_line":"DEFAULT \u003d True"},{"line_number":3,"context_line":"ADD_EXCEPTIONS \u003d {}"},{"line_number":4,"context_line":"ADD_INSTALLED_APPS \u003d ["},{"line_number":5,"context_line":"    \u0027openstack_dashboard.dashboards.project\u0027,"},{"line_number":6,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F97x8%3D","line":3,"in_reply_to":"AAAATn%2F%2BGME%3D","updated":"2013-12-04 09:45:14.000000000","message":"Done","commit_id":"067adcd9e693c31b3abee458206bb107ec84e88b"}],"openstack_dashboard/utils/settings.py":[{"author":{"_account_id":2455,"name":"Tihomir Trifonov","email":"t.trifonov@gmail.com","username":"ttrifonov"},"change_message_id":"24ee3dd374f214a169c6acbb22b4751b7a7bebf9","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    submodules \u003d {}"},{"line_number":23,"context_line":"    for loader, name, ispkg in pkgutil.iter_modules(module.__path__,"},{"line_number":24,"context_line":"                                                    module.__name__ + \u0027.\u0027):"},{"line_number":25,"context_line":"        parent, child \u003d name.rsplit(\u0027.\u0027, 1)"},{"line_number":26,"context_line":"        try:"},{"line_number":27,"context_line":"            parent_module \u003d __import__(parent, globals(), locals(), [child],"},{"line_number":28,"context_line":"                                       -1)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2FC5E%3D","line":25,"updated":"2013-11-15 09:03:15.000000000","message":"This is a minor issue, but I believe \u0027rpartition\u0027 is the right choice of function here instead of rsplit. Of course you explicitly add \u0027.\u0027 at the end of the prefix, so the name will always contain \u0027.\u0027 in it... but anyway - if a dot is missing, the rsplit function returns only 1 element, while rpartition always returns 3, e.g. (parent, _sep, child).","commit_id":"ccef5de493395fe85458b6edf104ccd9713b6157"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"c3bac9b3c05797e2d3390f69b240fe0981f893e4","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    submodules \u003d {}"},{"line_number":23,"context_line":"    for loader, name, ispkg in pkgutil.iter_modules(module.__path__,"},{"line_number":24,"context_line":"                                                    module.__name__ + \u0027.\u0027):"},{"line_number":25,"context_line":"        parent, child \u003d name.rsplit(\u0027.\u0027, 1)"},{"line_number":26,"context_line":"        try:"},{"line_number":27,"context_line":"            parent_module \u003d __import__(parent, globals(), locals(), [child],"},{"line_number":28,"context_line":"                                       -1)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2FCgY%3D","line":25,"in_reply_to":"AAAATn%2F%2FC5E%3D","updated":"2013-11-15 10:22:04.000000000","message":"Actually with a dot missing, rsplit(\u0027.\u0027, 1) would rise a ValueError,  but it will never happen here, as you said. I see no reason why I would use rpartition here, since I don\u0027t really need to know the separator.","commit_id":"ccef5de493395fe85458b6edf104ccd9713b6157"}]}
