hackedteam/vector-edk

View on GitHub
AppPkg/Applications/Python/Python-2.7.2/Lib/platform.py

Summary

Maintainability
F
2 mos
Test Coverage

File platform.py has 1060 lines of code (exceeds 250 allowed). Consider refactoring.
Open

#!/usr/bin/env python

""" This module tries to retrieve as much platform-identifying data as
    possible. It makes this information available via function APIs.
Severity: Major
Found in AppPkg/Applications/Python/Python-2.7.2/Lib/platform.py - About 2 days to fix

    Function uname has a Cognitive Complexity of 67 (exceeds 5 allowed). Consider refactoring.
    Open

    def uname():
    
        """ Fairly portable uname interface. Returns a tuple
            of strings (system,node,release,version,machine,processor)
            identifying the underlying platform.
    Severity: Minor
    Found in AppPkg/Applications/Python/Python-2.7.2/Lib/platform.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 win32_ver has a Cognitive Complexity of 62 (exceeds 5 allowed). Consider refactoring.
    Open

    def win32_ver(release='',version='',csd='',ptype=''):
    
        """ Get additional version information from the Windows Registry
            and return a tuple (version,csd,ptype) referring to version
            number, CSD level and OS type (multi/single
    Severity: Minor
    Found in AppPkg/Applications/Python/Python-2.7.2/Lib/platform.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 libc_ver has a Cognitive Complexity of 27 (exceeds 5 allowed). Consider refactoring.
    Open

    def libc_ver(executable=sys.executable,lib='',version='',
    
                 chunksize=2048):
    
        """ Tries to determine the libc version that the file executable
    Severity: Minor
    Found in AppPkg/Applications/Python/Python-2.7.2/Lib/platform.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 architecture has a Cognitive Complexity of 27 (exceeds 5 allowed). Consider refactoring.
    Open

    def architecture(executable=sys.executable,bits='',linkage=''):
    
        """ Queries the given executable (defaults to the Python interpreter
            binary) for various architecture information.
    
    Severity: Minor
    Found in AppPkg/Applications/Python/Python-2.7.2/Lib/platform.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 _dist_try_harder has a Cognitive Complexity of 25 (exceeds 5 allowed). Consider refactoring.
    Open

    def _dist_try_harder(distname,version,id):
    
        """ Tries some special tricks to get the distribution
            information in case the default method fails.
    
    Severity: Minor
    Found in AppPkg/Applications/Python/Python-2.7.2/Lib/platform.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 platform has a Cognitive Complexity of 24 (exceeds 5 allowed). Consider refactoring.
    Open

    def platform(aliased=0, terse=0):
    
        """ Returns a single string identifying the underlying platform
            with as much useful information as possible (but no more :).
    
    Severity: Minor
    Found in AppPkg/Applications/Python/Python-2.7.2/Lib/platform.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 popen has a Cognitive Complexity of 20 (exceeds 5 allowed). Consider refactoring.
    Open

    def popen(cmd, mode='r', bufsize=None):
    
        """ Portable popen() interface.
        """
        # Find a working popen implementation preferring win32pipe.popen
    Severity: Minor
    Found in AppPkg/Applications/Python/Python-2.7.2/Lib/platform.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 system_alias has a Cognitive Complexity of 18 (exceeds 5 allowed). Consider refactoring.
    Open

    def system_alias(system,release,version):
    
        """ Returns (system,release,version) aliased to common
            marketing names used for some systems.
    
    Severity: Minor
    Found in AppPkg/Applications/Python/Python-2.7.2/Lib/platform.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 _sys_version has a Cognitive Complexity of 17 (exceeds 5 allowed). Consider refactoring.
    Open

    def _sys_version(sys_version=None):
    
        """ Returns a parsed version of Python's sys.version as tuple
            (name, version, branch, revision, buildno, builddate, compiler)
            referring to the Python implementation name, version, branch,
    Severity: Minor
    Found in AppPkg/Applications/Python/Python-2.7.2/Lib/platform.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 _syscmd_ver has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
    Open

    def _syscmd_ver(system='', release='', version='',
    
                   supported_platforms=('win32','win16','dos','os2')):
    
        """ Tries to figure out the OS version used and returns
    Severity: Minor
    Found in AppPkg/Applications/Python/Python-2.7.2/Lib/platform.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 linux_distribution has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
    Open

    def linux_distribution(distname='', version='', id='',
    
                           supported_dists=_supported_dists,
                           full_distribution_name=1):
    
    Severity: Minor
    Found in AppPkg/Applications/Python/Python-2.7.2/Lib/platform.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 _abspath has 5 arguments (exceeds 4 allowed). Consider refactoring.
    Open

        def _abspath(path,
    Severity: Minor
    Found in AppPkg/Applications/Python/Python-2.7.2/Lib/platform.py - About 35 mins to fix

      Function linux_distribution has 5 arguments (exceeds 4 allowed). Consider refactoring.
      Open

      def linux_distribution(distname='', version='', id='',
      Severity: Minor
      Found in AppPkg/Applications/Python/Python-2.7.2/Lib/platform.py - About 35 mins to fix

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

        def _mac_ver_gestalt():
            """
                Thanks to Mark R. Levinson for mailing documentation links and
                code examples for this function. Documentation for the
                gestalt() API is available online at:
        Severity: Minor
        Found in AppPkg/Applications/Python/Python-2.7.2/Lib/platform.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

        Identical blocks of code found in 2 locations. Consider refactoring.
        Open

        Severity: Major
        Found in AppPkg/Applications/Python/Python-2.7.2/Lib/platform.py and 1 other location - About 2 mos to fix
        vector-uefi/fd/efi/StdLib/lib/python.27/platform.py on lines 0..1614

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 6418.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        There are no issues that match your filters.

        Category
        Status