def __repr__(self):
base = [self._limit_full_name]<EOL>for attr in sorted(self.attrs):<EOL><INDENT>desc = self.attrs[attr]<EOL>attr_type = desc.get('<STR_LIT:type>', str)<EOL>if attr_type == list:<EOL><INDENT>sublist = [repr(v) for v in getattr(self, attr)]<EOL>value = '<STR_LIT>' % '<STR_LIT:U+002CU+0020>'.join(sublist)<EOL><DEDENT>elif attr_type == dict:<EOL><INDENT>sublist = ['<STR_LIT>' % (k, v) for k, v in<EOL>sorted(getattr(self, attr).items(),<EOL>key=lambda x: x[<NUM_LIT:0>])]<EOL>value = '<STR_LIT>' % '<STR_LIT:U+002CU+0020>'.join(sublist)<EOL><DEDENT>else:<EOL><INDENT>value = repr(getattr(self, attr))<EOL><DEDENT>base.append('<STR_LIT>' % (attr, value))<EOL><DEDENT>return '<STR_LIT>' % ('<STR_LIT:U+0020>'.join(base), id(self))<EOL>
Return a representation of the limit.