Loads custom functions from custom/{vendor}/{name}.py. This allows to quickly override any
    function that is used to retrieve and parse the changelog.
    :param name: str, package name
    :param vendor: str, vendor
    :return: dict, functions

def _load_custom_functions(vendor, name):
    """
    Loads custom functions from custom/{vendor}/{name}.py. This allows to quickly override any
    function that is used to retrieve and parse the changelog.
    :param name: str, package name
    :param vendor: str, vendor
    :return: dict, functions
    """
    functions = {}
    # Some packages have dash in their name, replace them with underscore
    # E.g. python-ldap to python_ldap
    filename = "{}.py".format(name.replace("-", "_").lower())
    path = os.path.join(
        os.path.dirname(os.path.realpath(__file__)),  # current working dir
        "custom",  # /dir/parser
        vendor,  # /dir/parser/pypi
        filename  # /dir/parser/pypi/django.py
    )
    if os.path.isfile(path):
        module_name = "parser.{vendor}.{name}".format(vendor=vendor, name=name)
        module = imp.load_source(module_name, path)
        functions = dict(
            (function, getattr(module, function, None)) for function in ALLOWED_CUSTOM_FUNCTIONS
            if hasattr(module, function)
        )
    return functions