LiberTEM/LiberTEM

View on GitHub
src/libertem/common/slice.py

Summary

Maintainability
A
0 mins
Test Coverage

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Open

                assert o == 0, "invalid origin"
Severity: Info
Found in src/libertem/common/slice.py by bandit

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Open

                assert x > 0, \
                    "invalid shape: {!r} while subslicing {!r} with {!r} (origin={!r})".format(
                        new_shape, self.shape, shape, origin
Severity: Info
Found in src/libertem/common/slice.py by bandit

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Open

                    assert s <= cs, "invalid nav_shape #1"
Severity: Info
Found in src/libertem/common/slice.py by bandit

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Open

                assert s == cs, "invalid nav_shape #2"
Severity: Info
Found in src/libertem/common/slice.py by bandit

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Open

        assert self.shape.nav.dims == 1
Severity: Info
Found in src/libertem/common/slice.py by bandit

Cyclomatic complexity is too high in method flatten_nav. (8)
Open

    def flatten_nav(self, containing_shape: ShapeLike) -> "Slice":
        sig_dims = self.shape.sig.dims
        nav_dims = self.shape.dims - sig_dims
        containing_shape = tuple(containing_shape)[:nav_dims]
        origin = self.origin[:nav_dims]
Severity: Minor
Found in src/libertem/common/slice.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

Cyclomatic complexity is too high in method get. (7)
Open

    def get(
        self,
        arr: Optional[np.ndarray] = None,
        sig_only: bool = False,
        nav_only: bool = False
Severity: Minor
Found in src/libertem/common/slice.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

Cyclomatic complexity is too high in method intersection_with. (6)
Open

    def intersection_with(self, other: "Slice") -> "Slice":
        """
        Calculate the intersection between this slice and `other`. May result in
        dimensions that are zero, which means that there is no intersection.

Severity: Minor
Found in src/libertem/common/slice.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

There are no issues that match your filters.

Category
Status