)]}'
{"oslo_versionedobjects/fields.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"c0608e274b4a53b2262a45d9870a056a99e5dc03","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        self._read_only \u003d read_only"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def __repr__(self):"},{"line_number":147,"context_line":"        if isinstance(self._default, set):"},{"line_number":148,"context_line":"            # make a py27 and py35 compatible representation"},{"line_number":149,"context_line":"            if self._default \u003d\u003d set():"},{"line_number":150,"context_line":"                default \u003d \u0027set()\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_c863bf19","line":147,"updated":"2018-05-24 22:46:59.000000000","message":"Include the bug number in this comment.  Else your posterity be like whaaa?","commit_id":"9b5fb267652bed478b5824b2a4282796e7255e1f"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"42466b71e4b7d8ddc02ac14ef5b539804e956a5b","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        self._read_only \u003d read_only"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def __repr__(self):"},{"line_number":147,"context_line":"        if isinstance(self._default, set):"},{"line_number":148,"context_line":"            # make a py27 and py35 compatible representation"},{"line_number":149,"context_line":"            if self._default \u003d\u003d set():"},{"line_number":150,"context_line":"                default \u003d \u0027set()\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_09be30ad","line":147,"in_reply_to":"5f7c97a3_c863bf19","updated":"2018-06-01 14:10:02.000000000","message":"Done. For posterity.","commit_id":"9b5fb267652bed478b5824b2a4282796e7255e1f"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"c0608e274b4a53b2262a45d9870a056a99e5dc03","unresolved":false,"context_lines":[{"line_number":150,"context_line":"                default \u003d \u0027set()\u0027"},{"line_number":151,"context_line":"            else:"},{"line_number":152,"context_line":"                default \u003d \u0027{%s}\u0027 % \u0027,\u0027.join(sorted("},{"line_number":153,"context_line":"                    [str(v) for v in self._default]))"},{"line_number":154,"context_line":"        else:"},{"line_number":155,"context_line":"            default \u003d str(self._default)"},{"line_number":156,"context_line":"        return \u0027%s(default\u003d%s,nullable\u003d%s)\u0027 % (self._type.__class__.__name__,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_4b41e938","line":153,"range":{"start_line":153,"start_character":21,"end_line":153,"end_character":24},"updated":"2018-05-24 22:46:59.000000000","message":"not six.text_type?\n\nor better yet, don\u0027t explicitly stringify anything beyond what you get from %s, which is what the previous version did(n\u0027t).\n\nWhile we\u0027re at it, is there a reason to use \u0027{}\u0027 instead of \u0027set()\u0027 when non-empty?\n\nRolling this up, would the following work?\n\n if isinstance(self._default, set):\n     default \u003d \u0027set([%s])\u0027 % \u0027,\u0027.join(sorted(self._default))","commit_id":"9b5fb267652bed478b5824b2a4282796e7255e1f"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"744267a8772e5b345815f3dc0c8d682ea6cc619f","unresolved":false,"context_lines":[{"line_number":150,"context_line":"                default \u003d \u0027set()\u0027"},{"line_number":151,"context_line":"            else:"},{"line_number":152,"context_line":"                default \u003d \u0027{%s}\u0027 % \u0027,\u0027.join(sorted("},{"line_number":153,"context_line":"                    [str(v) for v in self._default]))"},{"line_number":154,"context_line":"        else:"},{"line_number":155,"context_line":"            default \u003d str(self._default)"},{"line_number":156,"context_line":"        return \u0027%s(default\u003d%s,nullable\u003d%s)\u0027 % (self._type.__class__.__name__,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_a46163ab","line":153,"range":{"start_line":153,"start_character":21,"end_line":153,"end_character":24},"in_reply_to":"5f7c97a3_0970703f","updated":"2018-06-01 14:19:44.000000000","message":"Ah, yes, you need to stringify the *members* of the set for the sake of the join().  (The %s in the string format would dtrt, as it did before, but now that\u0027s moot anyway since the join() will produce a string regardless.)","commit_id":"9b5fb267652bed478b5824b2a4282796e7255e1f"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"42466b71e4b7d8ddc02ac14ef5b539804e956a5b","unresolved":false,"context_lines":[{"line_number":150,"context_line":"                default \u003d \u0027set()\u0027"},{"line_number":151,"context_line":"            else:"},{"line_number":152,"context_line":"                default \u003d \u0027{%s}\u0027 % \u0027,\u0027.join(sorted("},{"line_number":153,"context_line":"                    [str(v) for v in self._default]))"},{"line_number":154,"context_line":"        else:"},{"line_number":155,"context_line":"            default \u003d str(self._default)"},{"line_number":156,"context_line":"        return \u0027%s(default\u003d%s,nullable\u003d%s)\u0027 % (self._type.__class__.__name__,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_0970703f","line":153,"range":{"start_line":153,"start_character":21,"end_line":153,"end_character":24},"in_reply_to":"5f7c97a3_4b41e938","updated":"2018-06-01 14:10:02.000000000","message":"I\u0027m using str as the original code called str. I cannot just rely on %s as that _expects_ the that the parameter is a string, but calling six.text_type make sense. Done.\nGood idea to roll it up to a single statement. Done.","commit_id":"9b5fb267652bed478b5824b2a4282796e7255e1f"}]}
