failmap/admin

View on GitHub
websecmap/api/apis/sidn.py

Summary

Maintainability
A
1 hr
Test Coverage

Cyclomatic complexity is too high in function process_SIDN_row. (6)
Open

def process_SIDN_row(row):
    if len(row) < 4:
        log.debug("Row does not have the correct length.")
        return

Severity: Minor
Found in websecmap/api/apis/sidn.py by radon

Cyclomatic Complexity

Cyclomatic Complexity corresponds to the number of decisions a block of code contains plus 1. This number (also called McCabe number) is equal to the number of linearly independent paths through the code. This number can be used as a guide when testing conditional logic in blocks.

Radon analyzes the AST tree of a Python program to compute Cyclomatic Complexity. Statements have the following effects on Cyclomatic Complexity:

Construct Effect on CC Reasoning
if +1 An if statement is a single decision.
elif +1 The elif statement adds another decision.
else +0 The else statement does not cause a new decision. The decision is at the if.
for +1 There is a decision at the start of the loop.
while +1 There is a decision at the while statement.
except +1 Each except branch adds a new conditional path of execution.
finally +0 The finally block is unconditionally executed.
with +1 The with statement roughly corresponds to a try/except block (see PEP 343 for details).
assert +1 The assert statement internally roughly equals a conditional statement.
Comprehension +1 A list/set/dict comprehension of generator expression is equivalent to a for loop.
Boolean Operator +1 Every boolean operator (and, or) adds a decision point.

Source: http://radon.readthedocs.org/en/latest/intro.html

Avoid too many return statements within this function.
Open

    return existing_second_level_url.add_subdomain(extracted.subdomain, "added via SIDN")
Severity: Major
Found in websecmap/api/apis/sidn.py - About 30 mins to fix

    Avoid too many return statements within this function.
    Open

            return
    Severity: Major
    Found in websecmap/api/apis/sidn.py - About 30 mins to fix

      Whitespace before ':'
      Open

          return my_text[0 : len(my_text) - 1] if my_text[len(my_text) - 1 : len(my_text)] == "." else my_text
      Severity: Minor
      Found in websecmap/api/apis/sidn.py by pep8

      Avoid extraneous whitespace.

      Avoid extraneous whitespace in these situations:
      - Immediately inside parentheses, brackets or braces.
      - Immediately before a comma, semicolon, or colon.
      
      Okay: spam(ham[1], {eggs: 2})
      E201: spam( ham[1], {eggs: 2})
      E201: spam(ham[ 1], {eggs: 2})
      E201: spam(ham[1], { eggs: 2})
      E202: spam(ham[1], {eggs: 2} )
      E202: spam(ham[1 ], {eggs: 2})
      E202: spam(ham[1], {eggs: 2 })
      
      E203: if x == 4: print x, y; x, y = y , x
      E203: if x == 4: print x, y ; x, y = y, x
      E203: if x == 4 : print x, y; x, y = y, x

      Whitespace before ':'
      Open

          return my_text[0 : len(my_text) - 1] if my_text[len(my_text) - 1 : len(my_text)] == "." else my_text
      Severity: Minor
      Found in websecmap/api/apis/sidn.py by pep8

      Avoid extraneous whitespace.

      Avoid extraneous whitespace in these situations:
      - Immediately inside parentheses, brackets or braces.
      - Immediately before a comma, semicolon, or colon.
      
      Okay: spam(ham[1], {eggs: 2})
      E201: spam( ham[1], {eggs: 2})
      E201: spam(ham[ 1], {eggs: 2})
      E201: spam(ham[1], { eggs: 2})
      E202: spam(ham[1], {eggs: 2} )
      E202: spam(ham[1 ], {eggs: 2})
      E202: spam(ham[1], {eggs: 2 })
      
      E203: if x == 4: print x, y; x, y = y , x
      E203: if x == 4: print x, y ; x, y = y, x
      E203: if x == 4 : print x, y; x, y = y, x

      There are no issues that match your filters.

      Category
      Status