Showing 34 of 52 total issues
Function update
has a Cognitive Complexity of 117 (exceeds 5 allowed). Consider refactoring. Open
def update(self, obj=None, companies=None, delete=False, **kwargs):
if obj:
# This if will be true when the previous function is the
# update_or_create
if self.queryset:
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function delete
has a Cognitive Complexity of 87 (exceeds 5 allowed). Consider refactoring. Open
def delete(self, obj=None, companies=None, **kwargs):
success = True
if obj:
# Send the delete action to the appropriate companies
for instance in obj.get_instances():
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
File managers.py
has 601 lines of code (exceeds 250 allowed). Consider refactoring. Open
# -*- coding: utf-8 -*-
import logging
from .decorators import require_client
from .decorators import require_default
Function __new__
has a Cognitive Complexity of 49 (exceeds 5 allowed). Consider refactoring. Open
def __new__(cls, name, bases, nmspc):
super_new = super(BaseModel, cls).__new__
parents = [b for b in bases if isinstance(b, BaseModel)]
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
File models.py
has 429 lines of code (exceeds 250 allowed). Consider refactoring. Open
# -*- coding: utf-8 -*-
import sys
import logging
from .exceptions import ValidationError
Function __init__
has a Cognitive Complexity of 25 (exceeds 5 allowed). Consider refactoring. Open
def __init__(self, *args, **kwargs):
# Initialize attributes to the field default value
for field in self._meta.declared_fields:
setattr(self, field.name, field.default)
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function filter
has a Cognitive Complexity of 22 (exceeds 5 allowed). Consider refactoring. Open
def filter(self, **kwargs):
self.queryset = []
companies = self.model.client.companies
for company in companies:
self.client = self._connect(company)
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function get
has a Cognitive Complexity of 19 (exceeds 5 allowed). Consider refactoring. Open
def get(self, **kwargs):
#TODO: The following line cause one request more
#self._check_kwargs(self.model._meta.get, **kwargs)
self.queryset = []
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function get_or_create
has a Cognitive Complexity of 18 (exceeds 5 allowed). Consider refactoring. Open
def get_or_create(self, companies=None, **kwargs):
created = False
defaults = kwargs.pop('defaults', None)
# Sometimes, the returning object doesn't contain all the attributes
# from the defaults so if you specify a new value to an attribute
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function update_or_create
has a Cognitive Complexity of 18 (exceeds 5 allowed). Consider refactoring. Open
def update_or_create(self, companies=None, **kwargs):
created = False
defaults = kwargs.pop('defaults', None)
# Same as above
if not self.model._meta.declared_fields:
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function update_or_create
has a Cognitive Complexity of 18 (exceeds 5 allowed). Consider refactoring. Open
def update_or_create(self, companies=None, delete=False, **kwargs):
created = False
defaults = kwargs.pop('defaults', None)
# Same as above
if not self.model._meta.declared_fields:
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function get_or_create
has a Cognitive Complexity of 18 (exceeds 5 allowed). Consider refactoring. Open
def get_or_create(self, **kwargs):
created = False
defaults = kwargs.pop('defaults', None)
# Sometimes, the returning object doesn't contain all the attributes
# from the defaults so if you specify a new value to an attribute
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function create
has a Cognitive Complexity of 17 (exceeds 5 allowed). Consider refactoring. Open
def create(self, obj=None, companies=None, **kwargs):
if obj:
# Send the create action to the appropriate companies
for instance in obj.get_instances():
# If the instance object contains the id attribute then came
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function populate_attrs
has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring. Open
def populate_attrs(self, response):
# Remove id from the keylist because it's handled from the add_key
try:
response.__keylist__.pop(
response.__keylist__.index(self._meta.default_id))
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function require_client
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. Open
def require_client(func):
def wrapper(*args, **kwargs):
if args[0].__class__.__name__ == 'BaseQuerySet' or \
args[0].__class__.__name__ == 'NavQuerySet' or \
args[0].__class__.__name__ == 'QuerySet':
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function clean
has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring. Open
def clean(self, exclude=None):
"""
Cleans all fields and raises a ValidationError containing a dict
of all validation errors if any occur.
"""
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function __init__
has 6 arguments (exceeds 4 allowed). Consider refactoring. Open
def __init__(self, base, username=None, password=None, auth=None,
Avoid deeply nested control flow statements. Open
for inst2 in self.queryset:
if company in inst2.get_companies():
if company not in update_companies:
update_companies.append(company)
new_add_companies.pop(new_add_companies.index(company))
Avoid deeply nested control flow statements. Open
if not isinstance(instance, Instance):
raise TypeError(
'The list must contain Key objects')
self.client = instance.client
Avoid deeply nested control flow statements. Open
if not self.client:
self.client = self._connect(instance.company)
tmp_dict = {self.model._meta.default_id: instance.id}