ctxis/lather

View on GitHub

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:
Severity: Minor
Found in lather/managers.py - About 2 days to fix

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():
Severity: Minor
Found in lather/managers.py - About 1 day to fix

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
Severity: Major
Found in lather/managers.py - About 1 day to fix

    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)]
    
    
    Severity: Minor
    Found in lather/models.py - About 7 hrs to fix

    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
    Severity: Minor
    Found in lather/models.py - About 6 hrs to fix

      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)
      
      
      Severity: Minor
      Found in lather/models.py - About 3 hrs to fix

      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)
      Severity: Minor
      Found in lather/managers.py - About 3 hrs to fix

      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 = []
      Severity: Minor
      Found in lather/managers.py - About 2 hrs to fix

      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
      Severity: Minor
      Found in lather/managers.py - About 2 hrs to fix

      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:
      Severity: Minor
      Found in lather/managers.py - About 2 hrs to fix

      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:
      Severity: Minor
      Found in lather/managers.py - About 2 hrs to fix

      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
      Severity: Minor
      Found in lather/managers.py - About 2 hrs to fix

      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
      Severity: Minor
      Found in lather/managers.py - About 2 hrs to fix

      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))
      Severity: Minor
      Found in lather/models.py - About 1 hr to fix

      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':
      Severity: Minor
      Found in lather/decorators.py - About 1 hr to fix

      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.
              """
      Severity: Minor
      Found in lather/models.py - About 55 mins to fix

      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,
      Severity: Minor
      Found in lather/client.py - About 45 mins to fix

        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))
        Severity: Major
        Found in lather/managers.py - About 45 mins to fix

          Avoid deeply nested control flow statements.
          Open

                                  if not isinstance(instance, Instance):
                                      raise TypeError(
                                          'The list must contain Key objects')
                                  self.client = instance.client
          Severity: Major
          Found in lather/managers.py - About 45 mins to fix

            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}
            Severity: Major
            Found in lather/managers.py - About 45 mins to fix
              Severity
              Category
              Status
              Source
              Language