|
OpenQuizz
Une application de gestion des contenus pédagogiques
|


Public Member Functions | |
| def | load_bytecode (self, bucket) |
| def | dump_bytecode (self, bucket) |
| def | clear (self) |
| def | get_cache_key (self, name, filename=None) |
| def | get_source_checksum (self, source) |
| def | get_bucket (self, environment, name, filename, source) |
| def | set_bucket (self, bucket) |
To implement your own bytecode cache you have to subclass this class
and override :meth:`load_bytecode` and :meth:`dump_bytecode`. Both of
these methods are passed a :class:`~jinja2.bccache.Bucket`.
A very basic bytecode cache that saves the bytecode on the file system::
from os import path
class MyCache(BytecodeCache):
def __init__(self, directory):
self.directory = directory
def load_bytecode(self, bucket):
filename = path.join(self.directory, bucket.key)
if path.exists(filename):
with open(filename, 'rb') as f:
bucket.load_bytecode(f)
def dump_bytecode(self, bucket):
filename = path.join(self.directory, bucket.key)
with open(filename, 'wb') as f:
bucket.write_bytecode(f)
A more advanced version of a filesystem based bytecode cache is part of
Jinja.
| def clear | ( | self | ) |
Clears the cache. This method is not used by Jinja but should be implemented to allow applications to clear the bytecode cache used by a particular environment.
Reimplemented in FileSystemBytecodeCache.
| def dump_bytecode | ( | self, | |
| bucket | |||
| ) |
Subclasses have to override this method to write the bytecode from a bucket back to the cache. If it unable to do so it must not fail silently but raise an exception.
Reimplemented in MemcachedBytecodeCache, and FileSystemBytecodeCache.
| def get_bucket | ( | self, | |
| environment, | |||
| name, | |||
| filename, | |||
| source | |||
| ) |
Return a cache bucket for the given template. All arguments are mandatory but filename may be `None`.
| def get_cache_key | ( | self, | |
| name, | |||
filename = None |
|||
| ) |
Returns the unique hash key for this template name.
| def get_source_checksum | ( | self, | |
| source | |||
| ) |
Returns a checksum for the source.
| def load_bytecode | ( | self, | |
| bucket | |||
| ) |
Subclasses have to override this method to load bytecode into a bucket. If they are not able to find code in the cache for the bucket, it must not do anything.
Reimplemented in MemcachedBytecodeCache, and FileSystemBytecodeCache.
| def set_bucket | ( | self, | |
| bucket | |||
| ) |
Put the bucket into the cache.