[ 
https://issues.apache.org/jira/browse/AVRO-2183?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16681676#comment-16681676
 ] 

ASF GitHub Bot commented on AVRO-2183:
--------------------------------------

cutting commented on issue #313: AVRO-2183 Provide name only for named schema
URL: https://github.com/apache/avro/pull/313#issuecomment-437415763
 
 
   Looks reasonable to me, but I'm not a Python guy.
   
   Does anyone see a problem with this?  If, no one speaks up, let's commit it.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> Nameless schema should raise AttributeError when attempting to access name
> --------------------------------------------------------------------------
>
>                 Key: AVRO-2183
>                 URL: https://issues.apache.org/jira/browse/AVRO-2183
>             Project: Apache Avro
>          Issue Type: Bug
>          Components: python
>            Reporter: Michael A. Smith
>            Priority: Major
>
> In the "py" implementation, this works as expected:
> {noformat}
> >>> from avro.schema import parse
> >>> s = parse('{"type": "array", "items": "int"}')
> >>> s.name
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> AttributeError: 'ArraySchema' object has no attribute 'name'{noformat}
> but in the py3 implementation, a {{NameError}} is raised instead:
> {noformat}
> >>> from avro.schema import Parse
> >>> s=Parse('{"type":"array","items":"int"}')
> >>> s.name
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File "/home/michaels/dev/avro/lang/py3/avro/schema.py", line 224, in name
> return self._props['name']
> KeyError: 'name'{noformat}
> This behavior breaks several python idioms, including the ability to get a 
> default value using {{getattr}}:
> {noformat}
> >>> getattr(s, "name", "default")
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File "/home/michaels/dev/avro/lang/py3/avro/schema.py", line 224, in name
> return self._props['name']
> KeyError: 'name'{noformat}
> I will open a PR with tests and a fix.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to