-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Interaction with Sphinx and Napoleon: __qualname__
#51
Comments
An instance of a class does not have an attribute In [1]: class A:
...: pass
...:
In [2]: getattr(A, '__qualname__')
Out[2]: 'A'
In [3]: a = A()
In [4]: getattr(a, '__qualname__')
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-3-b3b9d698fe71> in <module>()
----> 1 getattr(a, '__qualname__') The fact that the In [5]: from goblin import Edge
In [6]: class MyEdge(Edge):
...: pass
...:
In [7]: getattr(MyEdge.__mapping__, '__qualname__')
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
/home/davebshow/git/goblin/goblin/mapper.py in __getattr__(self, value)
207 try:
--> 208 mapping, _ = self._ogm_properties[value]
209 return mapping
KeyError: '__qualname__'
During handling of the above exception, another exception occurred:
MappingError Traceback (most recent call last)
<ipython-input-8-0082f3e0d57c> in <module>()
----> 1 getattr(MyEdge.__mapping__, '__qualname__')
/home/davebshow/git/goblin/goblin/mapper.py in __getattr__(self, value)
211 raise exception.MappingError(
212 "unrecognized property {} for class: {}".format(
--> 213 value, self._element_type))
214
215 def _map_properties(self, properties):
MappingError: unrecognized property __qualname__ for class: edge Based on Python's data model, I believe this is the expected behavior in this case. Maybe this could be fixed in the |
I agree with your analysis. I just looked into the napoleon source code and their documentation indicates that |
Hi @rosenbrockc. I was just curious, what project is this for? I am interested to know how you are using goblin. Thanks! |
I am writing documentation for a project using Sphinx. Here is the first issue causing the build to fail. I'll post the second in another issue:
In
mapper.py
, line 206, I hacked it together this way (so that my build will pass and I can keep working; the generated documentation still looks good):It seems strange to me that a class instance in python 3 would not have
__qualname__
.The text was updated successfully, but these errors were encountered: