rollbar/pyrollbar

View on GitHub

Showing 77 of 97 total issues

File __init__.py has 1344 lines of code (exceeds 250 allowed). Consider refactoring.
Open

from __future__ import absolute_import
from __future__ import unicode_literals

import copy
import functools
Severity: Major
Found in rollbar/__init__.py - About 3 days to fix

    Function _add_locals_data has a Cognitive Complexity of 34 (exceeds 5 allowed). Consider refactoring.
    Open

    def _add_locals_data(trace_data, exc_info):
        if not SETTINGS['locals']['enabled']:
            return
    
        frames = trace_data['frames']
    Severity: Minor
    Found in rollbar/__init__.py - About 5 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 _build_person_data has a Cognitive Complexity of 27 (exceeds 5 allowed). Consider refactoring.
    Open

    def _build_person_data(request):
        """
        Returns a dictionary describing the logged-in user using data from `request`.
    
        Try request.rollbar_person first, then 'user', then 'user_id'
    Severity: Minor
    Found in rollbar/__init__.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 send_payload has a Cognitive Complexity of 24 (exceeds 5 allowed). Consider refactoring.
    Open

    def send_payload(payload, access_token):
        """
        Sends a payload object, (the result of calling _build_payload() + _serialize_payload()).
        Uses the configured handler from SETTINGS['handler']
    
    
    Severity: Minor
    Found in rollbar/__init__.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 traverse has a Cognitive Complexity of 22 (exceeds 5 allowed). Consider refactoring.
    Open

    def traverse(
        obj,
        key=(),
        string_handler=_default_handlers[STRING],
        tuple_handler=_default_handlers[TUPLE],
    Severity: Minor
    Found in rollbar/lib/traverse.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 _parse_response has a Cognitive Complexity of 20 (exceeds 5 allowed). Consider refactoring.
    Open

    def _parse_response(path, access_token, params, resp, endpoint=None):
        if isinstance(resp, requests.Response):
            try:
                data = resp.text
            except Exception:
    Severity: Minor
    Found in rollbar/__init__.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

    File middleware.py has 268 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    r"""
    django-rollbar middleware
    
    There are two options for installing the Rollbar middleware. Both options
    require modifying your settings.py file.
    Severity: Minor
    Found in rollbar/contrib/django/middleware.py - About 2 hrs to fix

      Function includeme has a Cognitive Complexity of 17 (exceeds 5 allowed). Consider refactoring.
      Open

      def includeme(config):
          """
          Pyramid entry point
          """
          settings = config.registry.settings
      Severity: Minor
      Found in rollbar/contrib/pyramid/__init__.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 _report_exc_info has a Cognitive Complexity of 17 (exceeds 5 allowed). Consider refactoring.
      Open

      def _report_exc_info(exc_info, request, extra_data, payload_data, level=None):
          """
          Called by report_exc_info() wrapper
          """
      
      
      Severity: Minor
      Found in rollbar/__init__.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 __init__ has a Cognitive Complexity of 16 (exceeds 5 allowed). Consider refactoring.
      Open

          def __init__(self, get_response=None):
              super(RollbarNotifierMiddleware, self).__init__(get_response)
      
              self.settings = getattr(settings, 'ROLLBAR', {})
              if not self.settings.get('access_token'):
      Severity: Minor
      Found in rollbar/contrib/django/middleware.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 dict_merge has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
      Open

      def dict_merge(a, b, silence_errors=False):
          """
          Recursively merges dict's. not just simple a['key'] = b['key'], if
          both a and bhave a key who's value is a dict then dict_merge is called
          on both values and the result stored in the returned dictionary.
      Severity: Minor
      Found in rollbar/lib/__init__.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 _filter_ip has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
      Open

      def _filter_ip(request_data, capture_ip):
          if 'user_ip' not in request_data or capture_ip == True:
              return
      
          current_ip = request_data['user_ip']
      Severity: Minor
      Found in rollbar/__init__.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 traverse has 13 arguments (exceeds 4 allowed). Consider refactoring.
      Open

      def traverse(
      Severity: Major
      Found in rollbar/lib/traverse.py - About 1 hr to fix

        Function init has a Cognitive Complexity of 13 (exceeds 5 allowed). Consider refactoring.
        Open

        def init(access_token, environment='production', scrub_fields=None, url_fields=None, **kw):
            """
            Saves configuration variables in this module's SETTINGS.
        
            access_token: project access token. Get this from the Rollbar UI:
        Severity: Minor
        Found in rollbar/__init__.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 traverse_obj has a Cognitive Complexity of 13 (exceeds 5 allowed). Consider refactoring.
        Open

            def traverse_obj(self, obj, level=1):
                def seq_iter(o):
                    return o if isinstance(o, dict) else range(len(o))
        
                for k in seq_iter(obj):
        Severity: Minor
        Found in rollbar/lib/transforms/shortener.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 _transform has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
        Open

        def _transform(obj, transform, key=None):
            key = key or ()
        
            def do_transform(type_name, val, key=None, **kw):
                fn = getattr(transform, "transform_%s" % type_name, transform.transform_custom)
        Severity: Minor
        Found in rollbar/lib/transforms/__init__.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 rollbar_tween_factory has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
        Open

        def rollbar_tween_factory(pyramid_handler, registry):
            settings = parse_settings(registry.settings)
        
            def rollbar_tween(request):
                # for testing out the integration
        Severity: Minor
        Found in rollbar/contrib/pyramid/__init__.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 emit has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
        Open

            def emit(self, record):
                # If the record came from Rollbar's own logger don't report it
                # to Rollbar
                if record.name == rollbar.__log_name__:
                    return
        Severity: Minor
        Found in rollbar/logger.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 _patch_debugview has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
        Open

        def _patch_debugview(rollbar_web_base):
            try:
                from django.views import debug
            except ImportError:
                return
        Severity: Minor
        Found in rollbar/contrib/django/middleware.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 main has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
        Open

        def main():
            global verbose
            parser = optparse.OptionParser(version='%prog version ' + VERSION)
            parser.add_option('-t', '--access_token',
                              dest='access_token',
        Severity: Minor
        Found in rollbar/cli.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

        Severity
        Category
        Status
        Source
        Language