Meteodan/arpsEnKFtools

View on GitHub

Showing 83 of 158 total issues

File argparse.py has 1632 lines of code (exceeds 250 allowed). Consider refactoring.
Open

# Author: Steven J. Bethard <steven.bethard@gmail.com>.

"""Command-line parsing library

This module is an optparse-inspired command-line parsing library that:
Severity: Major
Found in arpsenkftools/argparse.py - About 4 days to fix

    File versioneer.py has 1326 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    # Version: 0.18
    
    """The Versioneer - like a rocketeer, but for versions.
    
    The Versioneer
    Severity: Major
    Found in versioneer.py - About 3 days to fix

      Function _parse_known_args has a Cognitive Complexity of 82 (exceeds 5 allowed). Consider refactoring.
      Open

          def _parse_known_args(self, arg_strings, namespace):
              # replace arg strings that are file references
              if self.fromfile_prefix_chars is not None:
                  arg_strings = self._read_args_from_files(arg_strings)
      
      
      Severity: Minor
      Found in arpsenkftools/argparse.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

      Function _format_actions_usage has a Cognitive Complexity of 51 (exceeds 5 allowed). Consider refactoring.
      Open

          def _format_actions_usage(self, actions, groups):
              # find group indices and identify actions in groups
              group_actions = set()
              inserts = {}
              for group in groups:
      Severity: Minor
      Found in arpsenkftools/argparse.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

      Function _format_usage has a Cognitive Complexity of 48 (exceeds 5 allowed). Consider refactoring.
      Open

          def _format_usage(self, usage, actions, groups, prefix):
              if prefix is None:
                  prefix = _('usage: ')
      
              # if usage is specified, use that
      Severity: Minor
      Found in arpsenkftools/argparse.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 _version.py has 377 lines of code (exceeds 250 allowed). Consider refactoring.
      Open

      # This file helps to compute a version number in source trees obtained from
      # git-archive tarball (such as those provided by githubs download-from-tag
      # feature). Distribution tarballs (built by setup.py sdist) and build
      # directories (produced by setup.py build) will contain a much shorter file
      # that just contains the computed version number.
      Severity: Minor
      Found in arpsenkftools/_version.py - About 5 hrs to fix

        Function editNamelistFile has a Cognitive Complexity of 31 (exceeds 5 allowed). Consider refactoring.
        Open

        def editNamelistFile(file_name_src, file_name_dest, **kwargs):
            """
            editNamelistFile
            Purpose:    Takes a FORTRAN-90 namelist file and edits it either using the keys/values of kwargs.  The special key __file_name_values__
                            can be used to find all the values from another namelist file and use them.
        Severity: Minor
        Found in arpsenkftools/editNamelist.py - About 4 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

        ArgumentParser has 29 functions (exceeds 20 allowed). Consider refactoring.
        Open

        class ArgumentParser(_AttributeHolder, _ActionsContainer):
            """Object for parsing command line strings into Python objects.
        
            Keyword Arguments:
                - prog -- The name of the program (default: sys.argv[0])
        Severity: Minor
        Found in arpsenkftools/argparse.py - About 3 hrs to fix

          Function parse_known_args has a Cognitive Complexity of 22 (exceeds 5 allowed). Consider refactoring.
          Open

              def parse_known_args(self, args=None, namespace=None):
                  # args default to the system args
                  if args is None:
                      args = _sys.argv[1:]
          
          
          Severity: Minor
          Found in arpsenkftools/argparse.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 do_setup has a Cognitive Complexity of 21 (exceeds 5 allowed). Consider refactoring.
          Open

          def do_setup():
              """Main VCS-independent setup function for installing Versioneer."""
              root = get_root()
              try:
                  cfg = get_config_from_root(root)
          Severity: Minor
          Found in versioneer.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

          HelpFormatter has 24 functions (exceeds 20 allowed). Consider refactoring.
          Open

          class HelpFormatter(object):
              """Formatter for generating usage messages and argument help strings.
          
              Only the name of this class is considered a public API. All the methods
              provided by the class are considered an implementation detail.
          Severity: Minor
          Found in arpsenkftools/argparse.py - About 2 hrs to fix

            Function get_versions has a Cognitive Complexity of 19 (exceeds 5 allowed). Consider refactoring.
            Open

            def get_versions(verbose=False):
                """Get the project version from whatever source is available.
            
                Returns dict with two keys: 'version' and 'full'.
                """
            Severity: Minor
            Found in versioneer.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 _searchLine has a Cognitive Complexity of 19 (exceeds 5 allowed). Consider refactoring.
            Open

            def _searchLine(line, **kwargs):
                for parameter, replacement in kwargs.items():
                    padded_zeros = None
                    # Only pull out the regular expressions if we have reason to believe the parameter might be on this line.
                    if line.find(parameter) > 0:
            Severity: Minor
            Found in arpsenkftools/editNamelist.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_values has a Cognitive Complexity of 18 (exceeds 5 allowed). Consider refactoring.
            Open

                def _get_values(self, action, arg_strings):
                    # for everything but PARSER args, strip out '--'
                    if action.nargs not in [PARSER, REMAINDER]:
                        arg_strings = [s for s in arg_strings if s != '--']
            
            
            Severity: Minor
            Found in arpsenkftools/argparse.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_option_tuples has a Cognitive Complexity of 18 (exceeds 5 allowed). Consider refactoring.
            Open

                def _get_option_tuples(self, option_string):
                    result = []
            
                    # option strings starting with two prefix characters are only
                    # split at the '='
            Severity: Minor
            Found in arpsenkftools/argparse.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 run_command has a Cognitive Complexity of 18 (exceeds 5 allowed). Consider refactoring.
            Open

            def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False,
                            env=None):
                """Call the given command(s)."""
                assert isinstance(commands, list)
                p = None
            Severity: Minor
            Found in arpsenkftools/_version.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_optional_kwargs has a Cognitive Complexity of 18 (exceeds 5 allowed). Consider refactoring.
            Open

                def _get_optional_kwargs(self, *args, **kwargs):
                    # determine short and long option strings
                    option_strings = []
                    long_option_strings = []
                    for option_string in args:
            Severity: Minor
            Found in arpsenkftools/argparse.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 run_command has a Cognitive Complexity of 18 (exceeds 5 allowed). Consider refactoring.
            Open

            def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False,
                            env=None):
                """Call the given command(s)."""
                assert isinstance(commands, list)
                p = None
            Severity: Minor
            Found in versioneer.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 git_get_keywords has a Cognitive Complexity of 17 (exceeds 5 allowed). Consider refactoring.
            Open

            def git_get_keywords(versionfile_abs):
                """Extract version information from the given file."""
                # the code embedded in _version.py can just fetch the value of these
                # keywords. When used from setup.py, we don't want to import _version.py,
                # so we do it with a regexp instead. This function is not used from
            Severity: Minor
            Found in versioneer.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 git_get_keywords has a Cognitive Complexity of 17 (exceeds 5 allowed). Consider refactoring.
            Open

            def git_get_keywords(versionfile_abs):
                """Extract version information from the given file."""
                # the code embedded in _version.py can just fetch the value of these
                # keywords. When used from setup.py, we don't want to import _version.py,
                # so we do it with a regexp instead. This function is not used from
            Severity: Minor
            Found in arpsenkftools/_version.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

            Severity
            Category
            Status
            Source
            Language