class_docstr: Loads templates from the file system.  This loader can find templates
  in folders on the file system and is the preferred way to load them.
  
  The loader takes the path to the templates as string, or if multiple
  locations are wanted a list of them which is then looked up in the
  given order::
  
  >>> loader = FileSystemLoader('/path/to/templates')
  >>> loader = FileSystemLoader(['/path/to/templates', '/other/path'])
  
  Per default the template encoding is ``'utf-8'`` which can be changed
  by setting the `encoding` parameter to something else.
  
  To follow symbolic links, set the *followlinks* parameter to ``True``::
  
  >>> loader = FileSystemLoader('/path/to/templates', followlinks=True)
  
  .. versionchanged:: 2.8
     The ``followlinks`` parameter was added.
class_docstr_tok: ["Loads","templates","from","the","file","system",".","This","loader","can","find","templates","in","folders","on","the","file","system","and","is","the","preferred","way","to","load","them",".","The","loader","takes","the","path","to","the","templates","as","string",",","or","if","multiple","locations","are","wanted","a","list","of","them","which","is","then","looked","up","in","the","given","order",":",":",">",">",">","loader","=","FileSystemLoader","(","'\/path\/to\/templates","'",")",">",">",">","loader","=","FileSystemLoader","(","[","'\/path\/to\/templates","'",",","'\/other\/path","'","]",")","Per","default","the","template","encoding","is","``","'utf-8","'","``","which","can","be","changed","by","setting","the","`","encoding","`","parameter","to","something","else",".","To","follow","symbolic","links",",","set","the","*","followlinks","*","parameter","to","``","True","``",":",":",">",">",">","loader","=","FileSystemLoader","(","'\/path\/to\/templates","'",",","followlinks=True",")","..","versionchanged",":",":","2.8","The","``","followlinks","``","parameter","was","added","."]
code: def list_templates(self):
      found = set()
      for searchpath in self.searchpath:
          walk_dir = os.walk(searchpath, followlinks=self.followlinks)
          for dirpath, _, filenames in walk_dir:
              for filename in filenames:
                  template = (
                      os.path.join(dirpath, filename)[len(searchpath) :]
                      .strip(os.path.sep)
                      .replace(os.path.sep, "/")
                  )
                  if template[:2] == "./":
                      template = template[2:]
                  if template not in found:
                      found.add(template)
      return sorted(found)
  
imports: import os
  import sys
  import weakref
  from hashlib import sha1
  from os import path
  from types import ModuleType
  from ._compat import abc
  from ._compat import fspath
  from ._compat import iteritems
  from ._compat import string_types
  from .exceptions import TemplateNotFound
  from .utils import internalcode
  from .utils import open_if_exists
label_desc: Use image node_id 3 for calling the FileSystemLoader obj's underlying member method code with example usage: obj.list_templates() and returns: sorted