docs: 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