open-eats/openeats-api

View on GitHub

Showing 12 of 85 total issues

Function _save_ingredient_data has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
Open

    def _save_ingredient_data(self, recipe):
        if self.ingredients:
            # TODO: don't delete everything when we edit the recipe. Use an ID.
            for ingredient_group in recipe.ingredient_groups.all():
                for ingredient in ingredient_group.ingredients.all():
Severity: Minor
Found in v1/recipe/save_recipe.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 _save_subrecipe_data has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
Open

    def _save_subrecipe_data(self, recipe):
        if self.subrecipes:
            for subrecipe in SubRecipe.objects.filter(parent_recipe=recipe):
                subrecipe.delete()

Severity: Minor
Found in v1/recipe/save_recipe.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 get_search_results has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
Open

def get_search_results(search_fields, queryset, search_term):
    """
    This code mirrors the search functionality that the django admin pages uses.
    It also happens to match what django rest users for there search implementation.
    https://docs.djangoproject.com/en/2.0/ref/contrib/admin/#django.contrib.admin.ModelAdmin.search_fields
Severity: Minor
Found in v1/common/recipe_search.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 get has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
Open

    def get(self, request, *args, **kwargs):
        query = Recipe.objects
        filter_set = {}

        # If user is anonymous, restrict recipes to public.
Severity: Minor
Found in v1/rating/views.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 _clean_data has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
Open

    def _clean_data(self):
        """
        Clean up the data before we try and save it into the Recipe model.
        Remove fields that not not apart of the model or shouldn't be saved.
        """
Severity: Minor
Found in v1/recipe/save_recipe.py - About 35 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 to_representation has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
Open

    def to_representation(self, value):
        use_url = getattr(self, 'use_url', api_settings.UPLOADED_FILES_USE_URL)
        try:
            if not value:
                return None
Severity: Minor
Found in v1/recipe/serializers.py - About 35 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 _validate has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
Open

    def _validate(self):
        fields = {
            "title": [self.required],
            "directions": [self.required],

Severity: Minor
Found in v1/recipe/save_recipe.py - About 35 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

Avoid too many return statements within this function.
Open

        return super(ImageField, self).to_representation(value)
Severity: Major
Found in v1/recipe/serializers.py - About 30 mins to fix

    Avoid too many return statements within this function.
    Open

                return url
    Severity: Major
    Found in v1/recipe/serializers.py - About 30 mins to fix

      Function get_queryset has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
      Open

          def get_queryset(self):
              query = Recipe.objects
              filter_set = {}
      
              # If user is anonymous, restrict recipes to public.
      Severity: Minor
      Found in v1/recipe_groups/views.py - About 25 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 get_queryset has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
      Open

          def get_queryset(self):
              query = Recipe.objects
              filter_set = {}
      
              # If user is anonymous, restrict recipes to public.
      Severity: Minor
      Found in v1/recipe_groups/views.py - About 25 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 a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
      Open

          def __init__(self, *args, **kwargs):
              # Instantiate the superclass normally
              super(FieldLimiter, self).__init__(*args, **kwargs)
      
              if 'request' in self.context:
      Severity: Minor
      Found in v1/recipe/mixins.py - About 25 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

      Severity
      Category
      Status
      Source
      Language