<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def discover_config_path(self, config_filename: str) -> str: """ Search for config file in a number of places. If there is no config file found, will return None. :param config_filename: Config file name or custom path to filename with config. :return: Path to the discovered config file or None. """


        if config_filename and os.path.isfile(config_filename):
            return config_filename

        for place in _common_places:
            config_path = os.path.join(place, config_filename)
            if os.path.isfile(config_path):
                return config_path

        return