code: def get_source(self, environment, template):
          
          if not self.has_source_access:
              raise RuntimeError('%s cannot provide access to the source' %
                                 self.__class__.__name__)
          raise TemplateNotFound(template)
docs: Get the template source, filename and reload helper for a template.
          It's passed the environment and template name and has to return a
          tuple in the form ``(source, filename, uptodate)`` or raise a
          `TemplateNotFound` error if it can't locate the template.
  
          The source part of the returned tuple must be the source of the
          template as unicode string or a ASCII bytestring.  The filename should
          be the name of the file on the filesystem if it was loaded from there,
          otherwise `None`.  The filename is used by python for the tracebacks
          if no loader extension is used.
  
          The last item in the tuple is the `uptodate` function.  If auto
          reloading is enabled it's always called to check if the template
          changed.  No arguments are passed so the function must store the
          old state somewhere (for example in a closure).  If it returns `False`
          the template will be reloaded.