MCPcopy Index your code
hub / github.com/fluentpython/example-code-2e / __init__

Method __init__

21-async/mojifinder/bottle.py:3211–3235  ·  view source on GitHub ↗

Create a new template. If the source parameter (str or buffer) is missing, the name argument is used to guess a template filename. Subclasses can assume that self.source and/or self.filename are set. Both are strings. The lookup, encoding and settings parameters are

(self, source=None, name=None, lookup=[], encoding='utf8', **settings)

Source from the content-addressed store, hash-verified

3209 defaults = {} #used in render()
3210
3211 def __init__(self, source=None, name=None, lookup=[], encoding='utf8', **settings):
3212 """ Create a new template.
3213 If the source parameter (str or buffer) is missing, the name argument
3214 is used to guess a template filename. Subclasses can assume that
3215 self.source and/or self.filename are set. Both are strings.
3216 The lookup, encoding and settings parameters are stored as instance
3217 variables.
3218 The lookup parameter stores a list containing directory paths.
3219 The encoding parameter should be used to decode byte strings or files.
3220 The settings parameter contains a dict for engine-specific settings.
3221 """
3222 self.name = name
3223 self.source = source.read() if hasattr(source, 'read') else source
3224 self.filename = source.filename if hasattr(source, 'filename') else None
3225 self.lookup = [os.path.abspath(x) for x in lookup]
3226 self.encoding = encoding
3227 self.settings = self.settings.copy() # Copy from class variable
3228 self.settings.update(settings) # Apply
3229 if not self.source and self.name:
3230 self.filename = self.search(self.name, self.lookup)
3231 if not self.filename:
3232 raise TemplateError('Template %s not found.' % repr(name))
3233 if not self.source and not self.filename:
3234 raise TemplateError('No template specified.')
3235 self.prepare(**self.settings)
3236
3237 @classmethod
3238 def search(cls, name, lookup=[]):

Callers

nothing calls this directly

Calls 6

searchMethod · 0.95
prepareMethod · 0.95
TemplateErrorClass · 0.85
readMethod · 0.80
copyMethod · 0.45
updateMethod · 0.45

Tested by

no test coverage detected