AttrDict icon indicating copy to clipboard operation
AttrDict copied to clipboard

Bugs in doc examples

Open hartwork opened this issue 7 years ago • 3 comments

Hi!

There seem to be two bugs in the examples.

First, this example right off the docs

> attr = AttrDict({'foo': [{'bar': 'baz'}, {'bar': 'qux'}]})
> for sub_attr in attr.foo:
>     print(subattr.foo)
'baz'
'qux'

gets me NameError: name 'subattr' is not defined because of the missing underscore in subattr but it's also foo a second time, while it would need to be bar, i.e. making print(sub_attr.bar) for the body of the loop.

Further down the docs read:

> adict = AttrDict({'list': [{'value': 1}, {'value': 2}]}, recursive=False)
> for element in adict.list:
>     isinstance(element, AttrDict)
False
False

But in ipython (with Python 2.7.13), I get this, instead:

In [29]: adict = AttrDict({'list': [{'value': 1}, {'value': 2}]}, recursive=False)

In [31]: [isinstance(element, AttrDict) for element in adict.list]
Out[31]: [True, True]  # ???

I am unsure if recursive=False is not working as expected or if just the example is broken. Please enlighten me. Thanks!

PS: The second example seems to also miss use of print(...) for the examples to be consistent to each other.

hartwork avatar Mar 10 '17 22:03 hartwork

See pull request #38

e3krisztian avatar Mar 11 '17 14:03 e3krisztian

@e3krisztian, it still reads .foo in that commit. Can you fix that as well?

hartwork avatar Mar 11 '17 14:03 hartwork

sorry, it is not my project/pull request, I was just looking around and connected this two things

e3krisztian avatar Mar 11 '17 17:03 e3krisztian