AlessioZanga/PyEEGLab

View on GitHub

Showing 21 of 21 total issues

Function rsync has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
Open

def rsync(path: str, user: str, password: str, slug: str, version: str) -> None:
    if user is not None and password is not None:
        logging.info("Download started, it will take some time")
        url = user + "@" + "www.isip.piconepress.com:~/data/"
        url = url + slug + "/v" + version + "/"
Severity: Minor
Found in pyeeglab/dataset/tuh_eeg/utils.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 __init__ has 9 arguments (exceeds 4 allowed). Consider refactoring.
Open

    def __init__(
Severity: Major
Found in pyeeglab/dataset/dataset.py - About 1 hr to fix

    Function run has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
    Open

        def run(self, data, **kwargs):
            results = []
            for item in self.inputs:
                if isinstance(item, list):
                    result = data
    Severity: Minor
    Found in pyeeglab/pipeline/preprocessor.py - About 45 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 rsync has 5 arguments (exceeds 4 allowed). Consider refactoring.
    Open

    def rsync(path: str, user: str, password: str, slug: str, version: str) -> None:
    Severity: Minor
    Found in pyeeglab/dataset/tuh_eeg/utils.py - About 35 mins to fix

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

      def wget(path: str, user: str, password: str, slug: str, version: str) -> None:
      Severity: Minor
      Found in pyeeglab/dataset/physionet/utils.py - About 35 mins to fix

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

        def wget(path: str, user: str, password: str, slug: str, version: str) -> None:
            logging.info("Download started, it will take some time")
            url = "https://physionet.org/files/" + slug + "/" + version + "/"
            process = subprocess.Popen(
                [
        Severity: Minor
        Found in pyeeglab/dataset/physionet/utils.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,
                    path: str,
                    name: str,
                    version: str = None,
        Severity: Minor
        Found in pyeeglab/dataset/dataset.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

        subprocess call - check for execution of untrusted input.
        Open

            process = subprocess.Popen(
                [
                    "wget",
                    "-r",
                    "-N",

        Consider possible security implications associated with subprocess module.
        Open

        import subprocess
        
        
        Severity: Info
        Found in pyeeglab/dataset/tuh_eeg/utils.py by bandit

        Use of insecure MD2, MD4, MD5, or SHA1 hash function.
        Open

                value = md5(value).hexdigest()
        Severity: Minor
        Found in pyeeglab/pipeline/pipeline.py by bandit

        subprocess call - check for execution of untrusted input.
        Open

                process = subprocess.Popen(
                    [
                        "sshpass",
                        "-p",
                        password,
        Severity: Info
        Found in pyeeglab/dataset/tuh_eeg/utils.py by bandit

        Use of insecure MD2, MD4, MD5, or SHA1 hash function.
        Open

                key = [hashlib.md5(k).hexdigest()[:10] for k in key]
        Severity: Minor
        Found in pyeeglab/dataset/dataset.py by bandit

        Use of possibly insecure function - consider using safer ast.literal_eval.
        Open

            symbols = eval(symbols[0])
        Severity: Minor
        Found in pyeeglab/dataset/tuh_eeg/utils.py by bandit

        Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.
        Open

                            return pickle.load(reader)
        Severity: Minor
        Found in pyeeglab/dataset/dataset.py by bandit

        Use of insecure MD2, MD4, MD5, or SHA1 hash function.
        Open

                key = hashlib.md5(key).hexdigest()
        Severity: Minor
        Found in pyeeglab/dataset/dataset.py by bandit

        Starting a process with a partial executable path
        Open

            process = subprocess.Popen(
                [
                    "wget",
                    "-r",
                    "-N",

        Use of possibly insecure function - consider using safer ast.literal_eval.
        Open

                for index, value in enumerate(eval(annotation[5]))
        Severity: Minor
        Found in pyeeglab/dataset/tuh_eeg/utils.py by bandit

        Consider possible security implications associated with subprocess module.
        Open

        import subprocess
        
        
        

        Use of insecure MD2, MD4, MD5, or SHA1 hash function.
        Open

                out = md5(self.to_json()).hexdigest()
        Severity: Minor
        Found in pyeeglab/pipeline/preprocessor.py by bandit

        Starting a process with a partial executable path
        Open

                process = subprocess.Popen(
                    [
                        "sshpass",
                        "-p",
                        password,
        Severity: Info
        Found in pyeeglab/dataset/tuh_eeg/utils.py by bandit
        Severity
        Category
        Status
        Source
        Language