)]}'
{"doc/source/conf.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"256a10e20e9af3d14fa7efbca9ed59c0345312ef","unresolved":false,"context_lines":[{"line_number":24,"context_line":"master_doc \u003d \u0027index\u0027"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# General information about the project."},{"line_number":27,"context_line":"project \u003d u\u0027oslo.config\u0027"},{"line_number":28,"context_line":"copyright \u003d u\u00272012, OpenStack, LLC\u0027"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"# If true, \u0027()\u0027 will be appended to :func: etc. cross-reference text."}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2Fxq0%3D","side":"PARENT","line":27,"updated":"2013-04-23 19:23:35.000000000","message":"Literal unicode strings are actually allowed in 3.3. Is there a reason for taking them out here (aside from the fact that there are only ASCII characters in these particular strings).","commit_id":"2031b324566214a550dce0b26c80ab4cd04d42b1"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"160500321379bc6679b9d89ac1bad20dbf3f8e91","unresolved":false,"context_lines":[{"line_number":24,"context_line":"master_doc \u003d \u0027index\u0027"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# General information about the project."},{"line_number":27,"context_line":"project \u003d u\u0027oslo.config\u0027"},{"line_number":28,"context_line":"copyright \u003d u\u00272012, OpenStack, LLC\u0027"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"# If true, \u0027()\u0027 will be appended to :func: etc. cross-reference text."}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2Fwno%3D","side":"PARENT","line":27,"in_reply_to":"AAAAOn%2F%2Fxq0%3D","updated":"2013-04-24 14:39:38.000000000","message":"Done","commit_id":"2031b324566214a550dce0b26c80ab4cd04d42b1"}],"magic/openstack/common/setup.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"256a10e20e9af3d14fa7efbca9ed59c0345312ef","unresolved":false,"context_lines":[{"line_number":215,"context_line":"                for pkg in self.distribution.packages:"},{"line_number":216,"context_line":"                    if \u0027.\u0027 not in pkg:"},{"line_number":217,"context_line":"                        os.path.walk(pkg, _find_modules, modules)"},{"line_number":218,"context_line":"                module_list \u003d list(modules.keys())"},{"line_number":219,"context_line":"                module_list.sort()"},{"line_number":220,"context_line":"                autoindex_filename \u003d os.path.join(source_dir, \u0027autoindex.rst\u0027)"},{"line_number":221,"context_line":"                with open(autoindex_filename, \u0027w\u0027) as autoindex:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2Fxqg%3D","line":218,"updated":"2013-04-23 19:23:35.000000000","message":"module_list \u003d sorted(modules.keys())","commit_id":"284580b62296b5b5f86d9f1b3758c53c0f997feb"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"160500321379bc6679b9d89ac1bad20dbf3f8e91","unresolved":false,"context_lines":[{"line_number":215,"context_line":"                for pkg in self.distribution.packages:"},{"line_number":216,"context_line":"                    if \u0027.\u0027 not in pkg:"},{"line_number":217,"context_line":"                        os.path.walk(pkg, _find_modules, modules)"},{"line_number":218,"context_line":"                module_list \u003d list(modules.keys())"},{"line_number":219,"context_line":"                module_list.sort()"},{"line_number":220,"context_line":"                autoindex_filename \u003d os.path.join(source_dir, \u0027autoindex.rst\u0027)"},{"line_number":221,"context_line":"                with open(autoindex_filename, \u0027w\u0027) as autoindex:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2Fwng%3D","line":218,"in_reply_to":"AAAAOn%2F%2Fxqg%3D","updated":"2013-04-24 14:39:38.000000000","message":"Done","commit_id":"284580b62296b5b5f86d9f1b3758c53c0f997feb"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"ef21b91843ec4fec447ecbf1d8f018196618b9eb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2011 OpenStack Foundation"},{"line_number":4,"context_line":"# Copyright 2012-2013 Hewlett-Packard Development Company, L.P."},{"line_number":5,"context_line":"# All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2FmU4%3D","line":2,"updated":"2013-05-02 11:12:55.000000000","message":"Probably best to drop the change to this file or rebase onto If27004df4c756ebc0b00784cb0445ab46ea43d97","commit_id":"7276d9ee514e52d748d04d3405ffd52e8c5cbe4c"}],"oslo/config/cfg.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"256a10e20e9af3d14fa7efbca9ed59c0345312ef","unresolved":false,"context_lines":[{"line_number":1240,"context_line":""},{"line_number":1241,"context_line":"    def __iter__(self):"},{"line_number":1242,"context_line":"        \"\"\"Iterate over all registered opt and group names.\"\"\""},{"line_number":1243,"context_line":"        for key in self._opts.keys() + list(self._groups.keys()):"},{"line_number":1244,"context_line":"            yield key"},{"line_number":1245,"context_line":""},{"line_number":1246,"context_line":"    def __len__(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2Fxp4%3D","line":1243,"updated":"2013-04-23 19:23:35.000000000","message":"for key in itertools.chain(self._opts.keys(), self._groups.keys()):","commit_id":"284580b62296b5b5f86d9f1b3758c53c0f997feb"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"160500321379bc6679b9d89ac1bad20dbf3f8e91","unresolved":false,"context_lines":[{"line_number":1240,"context_line":""},{"line_number":1241,"context_line":"    def __iter__(self):"},{"line_number":1242,"context_line":"        \"\"\"Iterate over all registered opt and group names.\"\"\""},{"line_number":1243,"context_line":"        for key in self._opts.keys() + list(self._groups.keys()):"},{"line_number":1244,"context_line":"            yield key"},{"line_number":1245,"context_line":""},{"line_number":1246,"context_line":"    def __len__(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2FwnE%3D","line":1243,"in_reply_to":"AAAAOn%2F%2Fxp4%3D","updated":"2013-04-24 14:39:38.000000000","message":"Done","commit_id":"284580b62296b5b5f86d9f1b3758c53c0f997feb"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"256a10e20e9af3d14fa7efbca9ed59c0345312ef","unresolved":false,"context_lines":[{"line_number":1264,"context_line":"        self._oparser \u003d argparse.ArgumentParser()"},{"line_number":1265,"context_line":"        self._cparser \u003d None"},{"line_number":1266,"context_line":"        self.unregister_opts(self._config_opts)"},{"line_number":1267,"context_line":"        for group in list(self._groups.values()):"},{"line_number":1268,"context_line":"            group._clear()"},{"line_number":1269,"context_line":""},{"line_number":1270,"context_line":"    @__clear_cache"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2FxqE%3D","line":1267,"updated":"2013-04-23 19:23:35.000000000","message":"You don\u0027t need to construct a list in a for loop, since the return value from values() and keys() is iterable. (this applies below, too)","commit_id":"284580b62296b5b5f86d9f1b3758c53c0f997feb"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"160500321379bc6679b9d89ac1bad20dbf3f8e91","unresolved":false,"context_lines":[{"line_number":1264,"context_line":"        self._oparser \u003d argparse.ArgumentParser()"},{"line_number":1265,"context_line":"        self._cparser \u003d None"},{"line_number":1266,"context_line":"        self.unregister_opts(self._config_opts)"},{"line_number":1267,"context_line":"        for group in list(self._groups.values()):"},{"line_number":1268,"context_line":"            group._clear()"},{"line_number":1269,"context_line":""},{"line_number":1270,"context_line":"    @__clear_cache"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2FwnI%3D","line":1267,"in_reply_to":"AAAAOn%2F%2FxqE%3D","updated":"2013-04-24 14:39:38.000000000","message":"Done","commit_id":"284580b62296b5b5f86d9f1b3758c53c0f997feb"}],"tests/test_cfg.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"256a10e20e9af3d14fa7efbca9ed59c0345312ef","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import os"},{"line_number":18,"context_line":"try:"},{"line_number":19,"context_line":"    from StringIO import StringIO"},{"line_number":20,"context_line":"except ImportError:"},{"line_number":21,"context_line":"    from io import StringIO"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2FxpU%3D","line":18,"updated":"2013-04-23 19:23:35.000000000","message":"I would rather we use six.moves instead of building a list of these renames ourselves.\n\nhttp://pythonhosted.org/six/#module-six.moves","commit_id":"284580b62296b5b5f86d9f1b3758c53c0f997feb"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"160500321379bc6679b9d89ac1bad20dbf3f8e91","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import os"},{"line_number":18,"context_line":"try:"},{"line_number":19,"context_line":"    from StringIO import StringIO"},{"line_number":20,"context_line":"except ImportError:"},{"line_number":21,"context_line":"    from io import StringIO"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2Fwns%3D","line":18,"in_reply_to":"AAAAOn%2F%2FxpU%3D","updated":"2013-04-24 14:39:38.000000000","message":"Done","commit_id":"284580b62296b5b5f86d9f1b3758c53c0f997feb"}]}
