<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def find_sanitizer(self, name):
 """ Searches for a sanitizer function with given name. The name should contain two parts separated from each other with a dot, the first part being the module name while the second being name of the function contained in the module, when it's being prefixed with "sanitize_". The lookup process consists from three attempts, which are: 1. First package to look the module will be top level package called "sanitizers". 2. Module will be looked under the "addon" packages, if they have been defined. 3. Finally the sanitation function will be looked from the builtin sanitizers located in "database_sanitizer.sanitizers" package. If none of these provide any results, ConfigurationError will be thrown. :param name: "Full name" of the sanitation function containing name of the module as well as name of the function. :type name: str :return: First function which can be imported with the given name. :rtype: callable """

        # Split the sanitizer name into two parts, one containing the Python
        # module name, while second containing portion of the function name
        # we are looking for.
        name_parts = name.split(".")
        if len(name_parts) < 2:
            raise ConfigurationError(
                "Unable to separate module name from function name in '%s'" % (
                    name,
                ),
            )

        module_name_suffix = ".".join(name_parts[:-1])
        function_name = "sanitize_%s" % (name_parts[-1],)

        # Phase 1: Look for custom sanitizer under a top level package called
        # "sanitizers".
        module_name = "sanitizers.%s" % (module_name_suffix,)
        callback = self.find_sanitizer_from_module(
            module_name=module_name,
            function_name=function_name,
        )
        if callback:
            return callback

        # Phase 2: Look for the sanitizer under "addon" packages, if any of
        # such have been defined.
        for addon_package_name in self.addon_packages:
            module_name = "%s.%s" % (
                addon_package_name,
                module_name_suffix,
            )
            callback = self.find_sanitizer_from_module(
                module_name=module_name,
                function_name=function_name,
            )
            if callback:
                return callback

        # Phase 3: Look from builtin sanitizers.
        module_name = "database_sanitizer.sanitizers.%s" % (module_name_suffix,)
        callback = self.find_sanitizer_from_module(
            module_name=module_name,
            function_name=function_name,
        )
        if callback:
            return callback

        # Give up.
        raise ConfigurationError("Unable to find sanitizer called '%s'" % (
            name,
        ))