Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def analyze(args, logger):
'''Analyze the files as specified in *args*. Logging is done through the
given *logger*.
The *args* object should have the following attributes:
* ``path``: the file to analyze.
* ``exclude`` and ``ignore``: the patterns specifying which files to
exclude and which directories to ignore.
* ``no_assert``: if ``True``, ``assert`` statements will not be counted
towards increasing the cyclomatic complexity.
* ``absolute``, ``modules`` and ``average``: the threshold for the
complexity.
'''
config = Config(
exclude=args.exclude,
ignore=args.ignore,
order=SCORE,
no_assert=args.no_assert,
show_closures=False,
min='A',
max='F',
)
h = CCHarvester(args.path, config)
results = h._to_dicts()
return find_infractions(args, logger, results), results
def __init__(self, config, targets):
"""
Instantiate a new raw operator.
:param config: The wily configuration.
:type config: :class:`WilyConfig`
"""
# TODO: Use config from wily.cfg for harvester
logger.debug(f"Using {targets} with {self.defaults} for Raw metrics")
self.harvester = harvesters.RawHarvester(
targets, config=Config(**self.defaults)
)