<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def make_template_name(self, model_type, sourcekey):
 """ Make the name of a template file for particular component Parameters model_type : str Type of model to use for this component sourcekey : str Key to identify this component Returns filename or None if component does not require a template file """

        format_dict = self.__dict__.copy()
        format_dict['sourcekey'] = sourcekey
        if model_type == 'IsoSource':
            return self._name_factory.spectral_template(**format_dict)
        elif model_type in ['MapCubeSource', 'SpatialMap']:
            return self._name_factory.diffuse_template(**format_dict)
        else:
            raise ValueError("Unexpected model_type %s" % model_type)