BlueBrain/eFEL

View on GitHub
efel/_version.py

Summary

Maintainability
F
3 days
Test Coverage

Showing 16 of 16 total issues

File _version.py has 495 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 efel/_version.py - About 7 hrs to fix

    Function git_pieces_from_vcs has a Cognitive Complexity of 27 (exceeds 5 allowed). Consider refactoring.
    Open

    def git_pieces_from_vcs(
    tag_prefix: str,
    root: str,
    verbose: bool,
    runner: Callable = run_command
    Severity: Minor
    Found in efel/_version.py - About 3 hrs to fix

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

    def git_versions_from_keywords(
    keywords: Dict[str, str],
    tag_prefix: str,
    verbose: bool,
    ) -> Dict[str, Any]:
    Severity: Minor
    Found in efel/_version.py - About 2 hrs to fix

    Function run_command has a Cognitive Complexity of 18 (exceeds 5 allowed). Consider refactoring.
    Open

    def run_command(
    commands: List[str],
    args: List[str],
    cwd: Optional[str] = None,
    verbose: bool = False,
    Severity: Minor
    Found in efel/_version.py - About 2 hrs to fix

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

    def git_get_keywords(versionfile_abs: str) -> Dict[str, str]:
    """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 efel/_version.py - About 2 hrs to fix

    Function render_pep440_branch has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
    Open

    def render_pep440_branch(pieces: Dict[str, Any]) -> str:
    """TAG[[.dev0]+DISTANCE.gHEX[.dirty]] .
     
    The ".dev0" means not master branch. Note that .dev0 sorts backwards
    (a feature branch will appear "older" than the master branch).
    Severity: Minor
    Found in efel/_version.py - About 1 hr to fix

    Function render_pep440_post_branch has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
    Open

    def render_pep440_post_branch(pieces: Dict[str, Any]) -> str:
    """TAG[.postDISTANCE[.dev0]+gHEX[.dirty]] .
     
    The ".dev0" means not master branch.
     
     
    Severity: Minor
    Found in efel/_version.py - About 1 hr to fix

    Function render has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
    Open

    def render(pieces: Dict[str, Any], style: str) -> Dict[str, Any]:
    """Render the given version pieces into the requested style."""
    if pieces["error"]:
    return {"version": "unknown",
    "full-revisionid": pieces.get("long"),
    Severity: Minor
    Found in efel/_version.py - About 1 hr to fix

    Function git_pieces_from_vcs has 29 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    def git_pieces_from_vcs(
    tag_prefix: str,
    root: str,
    verbose: bool,
    runner: Callable = run_command
    Severity: Minor
    Found in efel/_version.py - About 1 hr to fix

      Function render_pep440 has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
      Open

      def render_pep440(pieces: Dict[str, Any]) -> str:
      """Build up version string, with post-release "local version identifier".
       
      Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you
      get a tagged build and then dirty it, you'll get TAG+0.gHEX.dirty
      Severity: Minor
      Found in efel/_version.py - About 1 hr to fix

      Function render_pep440_post has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
      Open

      def render_pep440_post(pieces: Dict[str, Any]) -> str:
      """TAG[.postDISTANCE[.dev0]+gHEX] .
       
      The ".dev0" means dirty. Note that .dev0 sorts backwards
      (a dirty tree will appear "older" than the corresponding clean one),
      Severity: Minor
      Found in efel/_version.py - About 1 hr to fix

      Function render_pep440_old has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
      Open

      def render_pep440_old(pieces: Dict[str, Any]) -> str:
      """TAG[.postDISTANCE[.dev0]] .
       
      The ".dev0" means dirty.
       
       
      Severity: Minor
      Found in efel/_version.py - About 55 mins to fix

      Function render_pep440_pre has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
      Open

      def render_pep440_pre(pieces: Dict[str, Any]) -> str:
      """TAG[.postN.devDISTANCE] -- No -dirty.
       
      Exceptions:
      1: no tags. 0.post0.devDISTANCE
      Severity: Minor
      Found in efel/_version.py - About 55 mins to fix

      Function run_command has 6 arguments (exceeds 4 allowed). Consider refactoring.
      Open

      def run_command(
      Severity: Minor
      Found in efel/_version.py - About 45 mins to fix

        Avoid too many return statements within this function.
        Open

        return {"version": "0+unknown", "full-revisionid": None,
        Severity: Major
        Found in efel/_version.py - About 30 mins to fix

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

          def get_versions() -> Dict[str, Any]:
          """Get version information or return default if unable to do so."""
          # I am in _version.py, which lives at ROOT/VERSIONFILE_SOURCE. If we have
          # __file__, we can work backwards from there to the root. Some
          # py2exe/bbfreeze/non-CPython implementations don't do __file__, in which
          Severity: Minor
          Found in efel/_version.py - About 25 mins to fix
          Category
          Status