Skip to content

Commit

Permalink
Merge bedcc78 into 422771e
Browse files Browse the repository at this point in the history
  • Loading branch information
smspillaz committed Aug 6, 2016
2 parents 422771e + bedcc78 commit 690f7c7
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 6 deletions.
27 changes: 22 additions & 5 deletions prospector/tools/vulture/__init__.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,24 @@
# -*- coding: utf-8 -*-
from collections import namedtuple
from vulture import Vulture
from prospector.encoding import CouldNotHandleEncoding, read_py_file
from prospector.message import Location, Message, make_tool_error_message
from prospector.tools.base import ToolBase


_Item = namedtuple("_Item", "file lineno unused")


class ProspectorVulture(Vulture):

def __init__(self, found_files):
Vulture.__init__(self, exclude=None, verbose=False)
self._files = found_files
self._internal_messages = []
self._all_unused_funcs = []
self._all_unused_props = []
self._all_unused_vars = []
self._all_unused_attrs = []

def scavenge(self, _=None):
# The argument is a list of paths, but we don't care
Expand All @@ -29,19 +37,28 @@ def scavenge(self, _=None):
self.file = module
self.scan(module_string)

self._all_unused_funcs.extend([_Item(self.file, 1, u)
for u in self.unused_funcs])
self._all_unused_props.extend([_Item(self.file, 1, u)
for u in self.unused_props])
self._all_unused_vars.extend([_Item(self.file, 1, u)
for u in self.unused_vars])
self._all_unused_attrs.extend([_Item(self.file, 1, u)
for u in self.unused_attrs])

def get_messages(self):
all_items = (
('unused-function', 'Unused function %s', self.unused_funcs),
('unused-property', 'Unused property %s', self.unused_props),
('unused-variable', 'Unused variable %s', self.unused_vars),
('unused-attribute', 'Unused attribute %s', self.unused_attrs)
('unused-function', 'Unused function %s', self._all_unused_funcs),
('unused-property', 'Unused property %s', self._all_unused_props),
('unused-variable', 'Unused variable %s', self._all_unused_vars),
('unused-attribute', 'Unused attribute %s', self._all_unused_attrs)
)

vulture_messages = []
for code, template, items in all_items:
for item in items:
loc = Location(item.file, None, None, item.lineno, -1)
message_text = template % item
message_text = template % item.unused
message = Message('vulture', code, loc, message_text)
vulture_messages.append(message)

Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@

_OPTIONAL = {
'with_frosted': ('frosted>=1.4.1',),
'with_vulture': ('vulture>=0.6',),
'with_vulture': ('vulture>=0.10',),
'with_pyroma': ('pyroma>=2.0.2',),
}
with_everything = [req for req_list in _OPTIONAL.values() for req in req_list]
Expand Down

0 comments on commit 690f7c7

Please sign in to comment.