)]}'
{"openstack/resource2.py":[{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"afe0fff2a14998ed6f388a2eba95d0039079e3a3","unresolved":false,"context_lines":[{"line_number":407,"context_line":"                    return value.name"},{"line_number":408,"context_line":"        return \"\""},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"    @staticmethod"},{"line_number":411,"context_line":"    def _get_id(value):"},{"line_number":412,"context_line":"        \"\"\"If a value is a Resource, return the canonical ID"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"        This will return either the value specified by `id` or"},{"line_number":415,"context_line":"        `alternate_id` in that order if `value` is a Resource."},{"line_number":416,"context_line":"        If `value` is anything other than a Resource, likely to"},{"line_number":417,"context_line":"        be a string already representing an ID, it is returned."},{"line_number":418,"context_line":"        \"\"\""},{"line_number":419,"context_line":"        if isinstance(value, Resource):"},{"line_number":420,"context_line":"            return value.id"},{"line_number":421,"context_line":"        else:"},{"line_number":422,"context_line":"            return value"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"    @classmethod"},{"line_number":425,"context_line":"    def new(cls, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_877e90e2","side":"PARENT","line":422,"range":{"start_line":410,"start_character":4,"end_line":422,"end_character":24},"updated":"2017-02-20 21:43:15.000000000","message":"Here is the _get_id method","commit_id":"c8c89874bca9e813a1a61aef3f2943a03dc5b4d4"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"3aacbdfa8f4a5be34b29bb01ef7787b6324bed70","unresolved":false,"context_lines":[{"line_number":521,"context_line":""},{"line_number":522,"context_line":"        uri \u003d self.base_path % self._uri.attributes"},{"line_number":523,"context_line":"        if requires_id:"},{"line_number":524,"context_line":"            if self.id is None:"},{"line_number":525,"context_line":"                raise exceptions.InvalidRequest("},{"line_number":526,"context_line":"                    \"Request requires an ID but none was found\")"},{"line_number":527,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_45d714bf","line":524,"updated":"2017-02-21 16:40:11.000000000","message":"Ok, I think this will work since the alternate_id stuff is handled up in __getattribute__.","commit_id":"e7f7b400bbdf5facaab6756344ae18ce07f756d8"}]}
