{"comment":{"url":"https://api.github.com/repos/galaxyproject/galaxy/comments/9991637","html_url":"https://github.com/galaxyproject/galaxy/commit/9fd6685f4b165323b74be437fc82e78eb5fb2cb3#commitcomment-9991637","id":9991637,"user":{"login":"nsoranzo","id":4924623,"avatar_url":"https://avatars.githubusercontent.com/u/4924623?v=3","gravatar_id":"","url":"https://api.github.com/users/nsoranzo","html_url":"https://github.com/nsoranzo","followers_url":"https://api.github.com/users/nsoranzo/followers","following_url":"https://api.github.com/users/nsoranzo/following{/other_user}","gists_url":"https://api.github.com/users/nsoranzo/gists{/gist_id}","starred_url":"https://api.github.com/users/nsoranzo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nsoranzo/subscriptions","organizations_url":"https://api.github.com/users/nsoranzo/orgs","repos_url":"https://api.github.com/users/nsoranzo/repos","events_url":"https://api.github.com/users/nsoranzo/events{/privacy}","received_events_url":"https://api.github.com/users/nsoranzo/received_events","type":"User","site_admin":false},"position":null,"line":null,"path":"","commit_id":"9fd6685f4b165323b74be437fc82e78eb5fb2cb3","created_at":"2015-03-02T18:56:15Z","updated_at":"2015-03-02T18:56:15Z","body":"So it's an abstract class attribute! And pylint is just wrong in reporting this as a warning.\r\n\r\nAnyway please note that if ```@property``` and ```@abc.abstractmethod``` are used instead of ```@abc.abstractproperty``` the exception is not raised in Python2 (fixed in Python3):\r\n\r\n```\r\n$ cat test4.py \r\nfrom __future__ import print_function\r\nimport abc\r\n\r\nclass Base(object):\r\n    __metaclass__ = abc.ABCMeta\r\n\r\n    @property\r\n    @abc.abstractmethod\r\n    def plugin_type( self ):\r\n        pass\r\n\r\nclass Plugin(Base):\r\n    plugin_typex = \"p1\"\r\n\r\nprint(Plugin().plugin_type)\r\n$ python test4.py \r\nNone\r\n```\r\n\r\nSo, the other Galaxy plugins should probably use ```@abc.abstractproperty``` too."}}