)]}'
{"openstack/common/cfg.py":[{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"3e2fb931075c051cb4be33d004e1a75ea8f8baa4","unresolved":false,"context_lines":[{"line_number":704,"context_line":""},{"line_number":705,"context_line":"    def get(self, section, option):"},{"line_number":706,"context_line":"        # Always enable raw mode. Substitution is handled in ConfigOpts"},{"line_number":707,"context_line":"        return ConfigParser.SafeConfigParser.get(self, section, option,"},{"line_number":708,"context_line":"                                                 raw\u003dTrue)"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":"    def _get(self, section, conv, option):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAE3%2F%2F%2BIE%3D","line":707,"updated":"2012-03-14 22:53:04.000000000","message":"Is there a reason to not use super() here and on line 700?","commit_id":"9d9dd058168958fa728654c5f5370cd8fc59bc51"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"3e2fb931075c051cb4be33d004e1a75ea8f8baa4","unresolved":false,"context_lines":[{"line_number":704,"context_line":""},{"line_number":705,"context_line":"    def get(self, section, option):"},{"line_number":706,"context_line":"        # Always enable raw mode. Substitution is handled in ConfigOpts"},{"line_number":707,"context_line":"        return ConfigParser.SafeConfigParser.get(self, section, option,"},{"line_number":708,"context_line":"                                                 raw\u003dTrue)"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":"    def _get(self, section, conv, option):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAE3%2F%2F%2BHk%3D","line":707,"in_reply_to":"AAAAE3%2F%2F%2BH0%3D","updated":"2012-03-14 23:03:36.000000000","message":"Figures.","commit_id":"9d9dd058168958fa728654c5f5370cd8fc59bc51"},{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"unresolved":false,"context_lines":[{"line_number":704,"context_line":""},{"line_number":705,"context_line":"    def get(self, section, option):"},{"line_number":706,"context_line":"        # Always enable raw mode. Substitution is handled in ConfigOpts"},{"line_number":707,"context_line":"        return ConfigParser.SafeConfigParser.get(self, section, option,"},{"line_number":708,"context_line":"                                                 raw\u003dTrue)"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":"    def _get(self, section, conv, option):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAE3%2F%2F%2BH0%3D","line":707,"in_reply_to":"AAAAE3%2F%2F%2BIE%3D","updated":"2012-03-14 22:59:32.000000000","message":"SafeConfigParser subclasses ConfigParser which is an old-style class. So super() doesn\u0027t work :(\n\nConfigParser is kinda old-school and crufty.","commit_id":"9d9dd058168958fa728654c5f5370cd8fc59bc51"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"unresolved":false,"context_lines":[{"line_number":727,"context_line":"        self.sections[self.section][key].append(\u0027\\n\u0027.join(value))"},{"line_number":728,"context_line":""},{"line_number":729,"context_line":"    def parse_exc(self, msg, line):"},{"line_number":730,"context_line":"        raise ParseError(msg, line, self.filename, self.lineno)"},{"line_number":731,"context_line":""},{"line_number":732,"context_line":""},{"line_number":733,"context_line":"class MultiConfigParser(object):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAE3%2F%2F7h4%3D","line":730,"updated":"2012-03-21 20:23:06.000000000","message":"Another weird thing.  The base iniparser class does a:\n\nraise self.parse_exc()  in all of its error methods.  The base class self.parse_exc \u003d ParseError there, which is an exception class.  So you\u0027re overriding an attribute that\u0027s set to a class with an attribute that\u0027s a method.","commit_id":"11246e1c0111fa5ca9c42247d499390f3d2aab6d"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"b6df1059b3228f898665b7c43d6e61768ef20560","unresolved":false,"context_lines":[{"line_number":713,"context_line":"        self.file \u003d open(filename)"},{"line_number":714,"context_line":"        self.filename \u003d filename"},{"line_number":715,"context_line":"        self.sections \u003d sections"},{"line_number":716,"context_line":"        self.new_section(\u0027DEFAULT\u0027)"},{"line_number":717,"context_line":""},{"line_number":718,"context_line":"    def parse(self):"},{"line_number":719,"context_line":"        return super(ConfigParser, self).parse(self.file)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAE3%2F%2F7Mo%3D","line":716,"updated":"2012-03-22 17:23:37.000000000","message":"We don\u0027t need this line, I\u0027d prefer us not to have it ... at least for now\n\ni.e. ConfigParser semantics is that you need an explicit [DEFAULT] section header. I\u0027d prefer not to needlessly change the semantics at this point","commit_id":"320bc0c490c8965bc17f9a808d8327d2e4171905"},{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"unresolved":false,"context_lines":[{"line_number":713,"context_line":"        self.file \u003d open(filename)"},{"line_number":714,"context_line":"        self.filename \u003d filename"},{"line_number":715,"context_line":"        self.sections \u003d sections"},{"line_number":716,"context_line":"        self.new_section(\u0027DEFAULT\u0027)"},{"line_number":717,"context_line":""},{"line_number":718,"context_line":"    def parse(self):"},{"line_number":719,"context_line":"        return super(ConfigParser, self).parse(self.file)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAE3%2F%2F7J0%3D","line":716,"in_reply_to":"AAAAE3%2F%2F7Mo%3D","updated":"2012-03-22 17:47:36.000000000","message":"This seems to be inconsistent among INI parsers, but I\u0027ll follow the ConfigParser semantics in an updated patch.","commit_id":"320bc0c490c8965bc17f9a808d8327d2e4171905"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"b6df1059b3228f898665b7c43d6e61768ef20560","unresolved":false,"context_lines":[{"line_number":716,"context_line":"        self.new_section(\u0027DEFAULT\u0027)"},{"line_number":717,"context_line":""},{"line_number":718,"context_line":"    def parse(self):"},{"line_number":719,"context_line":"        return super(ConfigParser, self).parse(self.file)"},{"line_number":720,"context_line":""},{"line_number":721,"context_line":"    def new_section(self, section):"},{"line_number":722,"context_line":"        self.section \u003d section"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAE3%2F%2F7Mg%3D","line":719,"updated":"2012-03-22 17:23:37.000000000","message":"can we do the file open here and close the file in a finally block?","commit_id":"320bc0c490c8965bc17f9a808d8327d2e4171905"},{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"unresolved":false,"context_lines":[{"line_number":716,"context_line":"        self.new_section(\u0027DEFAULT\u0027)"},{"line_number":717,"context_line":""},{"line_number":718,"context_line":"    def parse(self):"},{"line_number":719,"context_line":"        return super(ConfigParser, self).parse(self.file)"},{"line_number":720,"context_line":""},{"line_number":721,"context_line":"    def new_section(self, section):"},{"line_number":722,"context_line":"        self.section \u003d section"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAE3%2F%2F7Js%3D","line":719,"in_reply_to":"AAAAE3%2F%2F7Mg%3D","updated":"2012-03-22 17:47:36.000000000","message":"It was intended to mirror ConfigParser, but since we have more control, it\u0027s easy enough to move it here and make it close the file correctly.","commit_id":"320bc0c490c8965bc17f9a808d8327d2e4171905"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"b6df1059b3228f898665b7c43d6e61768ef20560","unresolved":false,"context_lines":[{"line_number":725,"context_line":"    def assignment(self, key, value):"},{"line_number":726,"context_line":"        self.sections[self.section].setdefault(key, [])"},{"line_number":727,"context_line":"        self.sections[self.section][key].append(\u0027\\n\u0027.join(value))"},{"line_number":728,"context_line":""},{"line_number":729,"context_line":"    def parse_exc(self, msg, line):"},{"line_number":730,"context_line":"        return ParseError(msg, line, self.filename, self.lineno)"},{"line_number":731,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAE3%2F%2F7MY%3D","line":728,"updated":"2012-03-22 17:23:37.000000000","message":"This seems a bit odd. Why would the caller in the base class not do the line joining?","commit_id":"320bc0c490c8965bc17f9a808d8327d2e4171905"},{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"unresolved":false,"context_lines":[{"line_number":725,"context_line":"    def assignment(self, key, value):"},{"line_number":726,"context_line":"        self.sections[self.section].setdefault(key, [])"},{"line_number":727,"context_line":"        self.sections[self.section][key].append(\u0027\\n\u0027.join(value))"},{"line_number":728,"context_line":""},{"line_number":729,"context_line":"    def parse_exc(self, msg, line):"},{"line_number":730,"context_line":"        return ParseError(msg, line, self.filename, self.lineno)"},{"line_number":731,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAE3%2F%2F7Jc%3D","line":728,"in_reply_to":"AAAAE3%2F%2F7MY%3D","updated":"2012-03-22 17:47:36.000000000","message":"How (and if) the lines should be joined seemed to be policy better left out of the BaseParser.","commit_id":"320bc0c490c8965bc17f9a808d8327d2e4171905"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"b6df1059b3228f898665b7c43d6e61768ef20560","unresolved":false,"context_lines":[{"line_number":727,"context_line":"        self.sections[self.section][key].append(\u0027\\n\u0027.join(value))"},{"line_number":728,"context_line":""},{"line_number":729,"context_line":"    def parse_exc(self, msg, line):"},{"line_number":730,"context_line":"        return ParseError(msg, line, self.filename, self.lineno)"},{"line_number":731,"context_line":""},{"line_number":732,"context_line":""},{"line_number":733,"context_line":"class MultiConfigParser(object):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAE3%2F%2F7MA%3D","line":730,"updated":"2012-03-22 17:23:37.000000000","message":"Why doesn\u0027t the base class supply lineno as an argument to parse_exc() ?","commit_id":"320bc0c490c8965bc17f9a808d8327d2e4171905"},{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"unresolved":false,"context_lines":[{"line_number":727,"context_line":"        self.sections[self.section][key].append(\u0027\\n\u0027.join(value))"},{"line_number":728,"context_line":""},{"line_number":729,"context_line":"    def parse_exc(self, msg, line):"},{"line_number":730,"context_line":"        return ParseError(msg, line, self.filename, self.lineno)"},{"line_number":731,"context_line":""},{"line_number":732,"context_line":""},{"line_number":733,"context_line":"class MultiConfigParser(object):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAE3%2F%2F7JY%3D","line":730,"in_reply_to":"AAAAE3%2F%2F7MA%3D","updated":"2012-03-22 17:47:36.000000000","message":"Good point, this will be changed.","commit_id":"320bc0c490c8965bc17f9a808d8327d2e4171905"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"b6df1059b3228f898665b7c43d6e61768ef20560","unresolved":false,"context_lines":[{"line_number":1068,"context_line":"            if not opt.multi:"},{"line_number":1069,"context_line":"                return value"},{"line_number":1070,"context_line":""},{"line_number":1071,"context_line":"            return value + values"},{"line_number":1072,"context_line":""},{"line_number":1073,"context_line":"        if values:"},{"line_number":1074,"context_line":"            return values"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAE3%2F%2F7MM%3D","line":1071,"updated":"2012-03-22 17:23:37.000000000","message":"Tiny thing, but I\u0027d just do another values.extend(value) here","commit_id":"320bc0c490c8965bc17f9a808d8327d2e4171905"},{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"unresolved":false,"context_lines":[{"line_number":1068,"context_line":"            if not opt.multi:"},{"line_number":1069,"context_line":"                return value"},{"line_number":1070,"context_line":""},{"line_number":1071,"context_line":"            return value + values"},{"line_number":1072,"context_line":""},{"line_number":1073,"context_line":"        if values:"},{"line_number":1074,"context_line":"            return values"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAE3%2F%2F7JE%3D","line":1071,"in_reply_to":"AAAAE3%2F%2F7MM%3D","updated":"2012-03-22 17:47:36.000000000","message":"Figured it was just another line of code that wasn\u0027t necessary. I\u0027m not completely satisfied with this implementation, but I wanted to minimize the changes for now and come back with more general cleanups later.","commit_id":"320bc0c490c8965bc17f9a808d8327d2e4171905"}],"openstack/common/iniparser.py":[{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"unresolved":false,"context_lines":[{"line_number":75,"context_line":"                    # Flush previous assignment, if any"},{"line_number":76,"context_line":"                    key, value \u003d self._assignment(key, value)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"                self.comment(line[1:].lstrip())"},{"line_number":79,"context_line":"            else:"},{"line_number":80,"context_line":"                if key:"},{"line_number":81,"context_line":"                    # Flush previous assignment, if any"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAE3%2F%2F7k8%3D","line":78,"updated":"2012-03-21 19:22:47.000000000","message":"This supposed to be add_comment() to match the below def?","commit_id":"0ad04f1e0e9b04a602d7b89bdb8dbcb3ab15eef6"},{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"unresolved":false,"context_lines":[{"line_number":75,"context_line":"                    # Flush previous assignment, if any"},{"line_number":76,"context_line":"                    key, value \u003d self._assignment(key, value)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"                self.comment(line[1:].lstrip())"},{"line_number":79,"context_line":"            else:"},{"line_number":80,"context_line":"                if key:"},{"line_number":81,"context_line":"                    # Flush previous assignment, if any"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAE3%2F%2F7jY%3D","line":78,"in_reply_to":"AAAAE3%2F%2F7k8%3D","updated":"2012-03-21 20:02:42.000000000","message":"Good eyes. I\u0027ve fixed that and pushed up a new version","commit_id":"0ad04f1e0e9b04a602d7b89bdb8dbcb3ab15eef6"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"b6df1059b3228f898665b7c43d6e61768ef20560","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import codecs"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class ParseError(Exception):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAE3%2F%2F7MI%3D","line":17,"updated":"2012-03-22 17:23:37.000000000","message":"this is unused","commit_id":"320bc0c490c8965bc17f9a808d8327d2e4171905"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"b6df1059b3228f898665b7c43d6e61768ef20560","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class BaseParser(object):"},{"line_number":30,"context_line":"    lineno \u003d 0"},{"line_number":31,"context_line":"    parse_exc \u003d ParseError"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def _assignment(self, key, value):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAE3%2F%2F7L8%3D","line":30,"updated":"2012-03-22 17:23:37.000000000","message":"Maybe I\u0027m just not familiar with this idiom, but this makes me think it\u0027s a class attribute rather than the default for an instance attribute\n\nWould prefer a simple\n\n  def __init__(self):\n      self.lineno \u003d 0\n\nyour call, don\u0027t mind all that much","commit_id":"320bc0c490c8965bc17f9a808d8327d2e4171905"},{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class BaseParser(object):"},{"line_number":30,"context_line":"    lineno \u003d 0"},{"line_number":31,"context_line":"    parse_exc \u003d ParseError"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def _assignment(self, key, value):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAE3%2F%2F7Is%3D","line":30,"in_reply_to":"AAAAE3%2F%2F7L8%3D","updated":"2012-03-22 17:47:36.000000000","message":"It is a class attribute, which works like an instance attribute too.\n\nI prefer not to add an extra __init__ if it doesn\u0027t add to correctness or readability.","commit_id":"320bc0c490c8965bc17f9a808d8327d2e4171905"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"b6df1059b3228f898665b7c43d6e61768ef20560","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        if colon \u003c 0 or equal \u003c colon:"},{"line_number":55,"context_line":"            key, value \u003d line[:equal], line[equal + 1:]"},{"line_number":56,"context_line":"        else:"},{"line_number":57,"context_line":"            key, value \u003d line[:colon], line[colon + 1:]"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        return key.strip(), [value.strip()]"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAE3%2F%2F7Lc%3D","line":57,"updated":"2012-03-22 17:23:37.000000000","message":"I wasn\u0027t even aware that ConfigParser supports colon as a separator :)","commit_id":"320bc0c490c8965bc17f9a808d8327d2e4171905"},{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"unresolved":false,"context_lines":[{"line_number":54,"context_line":"        if colon \u003c 0 or equal \u003c colon:"},{"line_number":55,"context_line":"            key, value \u003d line[:equal], line[equal + 1:]"},{"line_number":56,"context_line":"        else:"},{"line_number":57,"context_line":"            key, value \u003d line[:colon], line[colon + 1:]"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        return key.strip(), [value.strip()]"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAE3%2F%2F7Ic%3D","line":57,"in_reply_to":"AAAAE3%2F%2F7Lc%3D","updated":"2012-03-22 17:47:36.000000000","message":"Neither did I until I started reading various implementations.","commit_id":"320bc0c490c8965bc17f9a808d8327d2e4171905"}],"tests/unit/test_cfg.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"b6df1059b3228f898665b7c43d6e61768ef20560","unresolved":false,"context_lines":[{"line_number":452,"context_line":"                                        \u0027foo \u003d bar1\\n\u0027),"},{"line_number":453,"context_line":"                                       (\u00272.conf\u0027,"},{"line_number":454,"context_line":"                                        \u0027[DEFAULT]\\n\u0027"},{"line_number":455,"context_line":"                                        \u0027foo \u003d bar2\\n\u0027)])"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"        self.conf([\u0027--foo\u0027, \u0027bar0\u0027,"},{"line_number":458,"context_line":"                   \u0027--config-file\u0027, paths[0],"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAE3%2F%2F9FI%3D","line":455,"updated":"2012-03-16 21:59:25.000000000","message":"What we\u0027re not handling is the case where foo is set multiple times in the one file\n\nI was thinking we might support something dumb like:\n\n  foo.2 \u003d bar2\n  foo.3 \u003d bar3\n\nDon\u0027t need this implemented to approve the patch, just pointing out the idea","commit_id":"9d9dd058168958fa728654c5f5370cd8fc59bc51"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"b6df1059b3228f898665b7c43d6e61768ef20560","unresolved":false,"context_lines":[{"line_number":452,"context_line":"                                        \u0027foo \u003d bar1\\n\u0027),"},{"line_number":453,"context_line":"                                       (\u00272.conf\u0027,"},{"line_number":454,"context_line":"                                        \u0027[DEFAULT]\\n\u0027"},{"line_number":455,"context_line":"                                        \u0027foo \u003d bar2\\n\u0027)])"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"        self.conf([\u0027--foo\u0027, \u0027bar0\u0027,"},{"line_number":458,"context_line":"                   \u0027--config-file\u0027, paths[0],"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAE3%2F%2F7LQ%3D","line":455,"updated":"2012-03-22 17:23:37.000000000","message":"add a foo \u003d bar3 in 2.conf for extra fun","commit_id":"320bc0c490c8965bc17f9a808d8327d2e4171905"},{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"unresolved":false,"context_lines":[{"line_number":452,"context_line":"                                        \u0027foo \u003d bar1\\n\u0027),"},{"line_number":453,"context_line":"                                       (\u00272.conf\u0027,"},{"line_number":454,"context_line":"                                        \u0027[DEFAULT]\\n\u0027"},{"line_number":455,"context_line":"                                        \u0027foo \u003d bar2\\n\u0027)])"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"        self.conf([\u0027--foo\u0027, \u0027bar0\u0027,"},{"line_number":458,"context_line":"                   \u0027--config-file\u0027, paths[0],"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAE3%2F%2F7IA%3D","line":455,"in_reply_to":"AAAAE3%2F%2F7LQ%3D","updated":"2012-03-22 17:47:36.000000000","message":"Will do","commit_id":"320bc0c490c8965bc17f9a808d8327d2e4171905"}]}
