Skip to content

Enum - Value is unsubscriptable #992

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

Closed
kemar opened this issue Jul 8, 2016 · 2 comments
Closed

Enum - Value is unsubscriptable #992

kemar opened this issue Jul 8, 2016 · 2 comments
Labels

Comments

@kemar
Copy link

kemar commented Jul 8, 2016

Steps to reproduce

python -V
Python 3.5.2
import enum

TASK_STATUS = enum.Enum('Task', (('todo', 1), ('success', 2)))

status = TASK_STATUS['success']

Current behavior

msg_id E1136
symbol unsubscriptable-object
obj Value 'TASK_STATUS'
msg is unsubscriptable

Expected behavior

No warning.

This is the right way for programmatic access to enumeration members.

pylint --version output

pylint --version
No config file found, using default configuration
pylint 1.6.1, 
astroid 1.4.7
Python 3.5.2 (default, Jun 27 2016, 03:10:38) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)]
@PCManticore
Copy link
Contributor

Thanks! We have definitely some issues with understanding whatever Enum is doing, so looking forward to having these issues fixed.

@hoootsli
Copy link

hoootsli commented Nov 2, 2016

First of all, thank you very much for all the great work on pylint! :)

In the context of this issue: It looks like the recommended way of iterating the members of an Enum also leads to a pylint warning ... has no '__members__' member. Will that issue be addressed at the same time? (I tested with pylint 1.6.4.)

clrpackages pushed a commit to clearlinux-pkgs/astroid that referenced this issue Dec 20, 2017
….6.0

Ashley Whetter (1):
      Public facing node documentation

Bryce Guinta (1):
      Add transform for attr library to fix unsupported-assignment-operation false positives

Claudiu Popa (40):
      Don't crash when getting the string representation of BadUnaryOperationMessage
      Don't raise DuplicateBaseError when classes at different locations are used
      The func form of namedtuples with keywords is now understood
      Dunder class at method level is now inferred as the class of the method
      Fix indentation
      Enums created with functional syntax are now iterable. Close pylint-dev/pylint#1546
      Enums created with functional syntax are now iterable. Close pylint-dev/pylint#992
      Enum's functional form know about __members__
      Fix reconstruction of nodes for FormattedValue. Close pylint-dev/pylint#1582
      Ignore the test on <Python3.6
      namedtuple._replace expects the actual attributes to be replaced
      Disable stop-iteration-return until we'll drop support for python 2
      The result of using object.__new__ as class decorator is correctly inferred as instance
      Support AnnAssign in Enum bodies. Close #442
      Add brain tips for UUID.int
      Skip Uninferable inferred objects when inferring a Dict
      Check for both args and keyword arguments when extracting namedtuple's params. Close #450
      Remove print statement
      Ignore directories found in blacklist
      __package__ is accessible in every module. Close pylint-dev/pylint#1693
      Fix lint warnings
      lint the current directory, not the installed one
      Fix the remaining lint errors
      Run the local tests, not the installed ones, and strip the local path for coveralls
      Add ChangeLog entry
      Remove most of the copyright notices, since this file was written completely by @hippo91
      Add ChangeLog entries for @hippo91 changes
      astroid's master is 1.6
      Add pypy support for Python 3.3 in tox
      Revert "Add pypy support for Python 3.3 in tox"
      Remove file_stream since it was slated for removal for 1.6
      Fix lint
      When verifying duplicates classes in MRO, ignore on-the-fly generated classes
      Make Unknown a rhs assignable node
      Make attr.ib attributes instances of Unknown, not of Attribute
      Only mock attr.ib attributes
      Remove unreachable code
      Filter non-inferables nodes when inferring binary operations
      Add new release instructions as for pylint
      Add the release date

Hugo (4):
      Update classifiers (#453)
      Mark failing test as expected failure (#455)
      Drop support for EOL Python 3.3
      Update version comparisons after review

Michał Masłowski (1):
      Catch _NonDeducibleTypeHierarchy in inference._infer_augassign (#443)

hippo91 (8):
      Expose more objects in numpy brain tip
      Introduction of numpy.core.umath functions signatures inside numpy brain + add of a dedicated unit test
      Introduction of numpy.random.mtrand functions signatures inside numpy brain + add of a dedicated unit test
      Add of a class that wrapps the call to unittest.subTest method to handle different versions of python
      Add of encoding utf-8 declaration
      Deletion of old numpy test (replaced by a dedicated class)
      Add of copyright and simplification of the mock to try to pass python3.3 CI
      Add of decorator to skip the tests if numy module is not present

ioanatia (1):
      Fix finder for namespace packages (#440)

mathieui (1):
      Add brain_curses.py for curses attributes defined at runtime (#456)

Łukasz Rogalski (1):
      Improve understanding of collections.deque (#441)

2017-12-15 -- 1.6.0

   * When verifying duplicates classes in MRO, ignore on-the-fly generated classes

     Close pylint-dev/pylint#1706

   * Add brain tip for attrs library to prevent unsupported-assignment-operation false positives

	 Close pylint-dev/pylint#1698

   * file_stream was removed, since it was deprecated for three releases

     Instead one should use the .stream() method.

   * Vast improvements to numpy support

(NEWS truncated at 15 lines)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants