# Path: multiscanner/config.py
# MS_WD = os.path.dirname(os.path.abspath(__file__))
# MODULESDIR = os.path.join(MS_WD, 'modules')
# CONFIG = determine_configuration_path(None)
# def get_configuration_paths():
# def determine_configuration_path(filepath):


import ast
import configparser
import imp
import os
import sys
    import paramiko
from multiscanner.config import PY3
        loaded_mod = None
        print(e)
    return loaded_mod


def list2cmdline(list):
    """
    This is used to overwrite the default subprocess list2cmdline function.

    The default subprocess list2cmdline function on windows messes with quotes arguments. This will not
    """
    return ' '.join(list)


def convert_encoding(data, encoding='UTF-8', errors='replace'):
    """
    Converts dicts, lists, and strs to the encoding. It uses data.decode to do this.

    data - The data to be converted
    encoding - The encoding method to use
    error - The codec error handling method to use
    """
    if isinstance(data, dict):
        if PY3:
            return dict((convert_encoding(key), convert_encoding(value)) for key, value in data.items())
        else:
            return dict((convert_encoding(key), convert_encoding(value)) for key, value in data.iteritems())
    elif isinstance(data, list):
        return [convert_encoding(element) for element in data]
    elif isinstance(data, str):

# Path: multiscanner/config.py
# MS_WD = os.path.dirname(os.path.abspath(__file__))
# MODULESDIR = os.path.join(MS_WD, 'modules')
# CONFIG = determine_configuration_path(None)
# def get_configuration_paths():
# def determine_configuration_path(filepath):


# Path: multiscanner/common/utils.py
import ast
import configparser
import imp
import os
import sys
    import paramiko
from multiscanner.config import PY3

        loaded_mod = None
        print(e)
    return loaded_mod


def list2cmdline(list):
    """
    This is used to overwrite the default subprocess list2cmdline function.

    The default subprocess list2cmdline function on windows messes with quotes arguments. This will not
    """
    return ' '.join(list)


def convert_encoding(data, encoding='UTF-8', errors='replace'):
    """
    Converts dicts, lists, and strs to the encoding. It uses data.decode to do this.

    data - The data to be converted
    encoding - The encoding method to use
    error - The codec error handling method to use
    """
    if isinstance(data, dict):
        if PY3:
            return dict((convert_encoding(key), convert_encoding(value)) for key, value in data.items())
        else:
            return dict((convert_encoding(key), convert_encoding(value)) for key, value in data.iteritems())
    elif isinstance(data, list):
        return [convert_encoding(element) for element in data]
    elif isinstance(data, str):

        if PY3: