<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def temp(self, name, templates=None, n_indents=None, skipping=False):
 """ Get specific template of chosen programming language. Parameters :param param name : string The key name of the template. :param param templates : string, default: None The template with placeholders. :param param n_indents : int, default: None The number of indentations. :param param skipping : bool, default: False Whether to skip the initial indentation. Returns ------- return : string The wanted template string. """

        if templates is None:
            templates = self.TEMPLATES.get(self.target_language)
        keys = name.split('.')
        key = keys.pop(0).lower()
        template = templates.get(key, None)
        if template is not None:
            if isinstance(template, str):
                if n_indents is not None:
                    template = self.indent(template, n_indents, skipping)
                return template
            else:
                keys = '.'.join(keys)
                return self.temp(keys, template, skipping=False)
        else:
            class_name = self.__class__.__name__
            estimator_type = getattr(self, 'estimator_type') if \
                hasattr(self, 'estimator_type') else 'classifier'
            path = join(dirname(__file__), 'estimator',
                        estimator_type, class_name, 'templates',
                        self.target_language, name + '.txt')
            if isfile(path):
                with open(path, 'r') as file_:
                    template = file_.read()
                if n_indents is not None:
                    template = self.indent(template, n_indents, skipping)
                return template
            else:
                err = "Template '{}' wasn't found.".format(name)
                raise AttributeError(err)