Package genshi :: Package template :: Module eval :: Class StrictLookup |

# Class StrictLookup

    object --+
             |
    LookupBase --+
                 |
                StrictLookup

Strict variable lookup mechanism for expressions.

Referencing an undefined variable using this lookup style will immediately raise an `UndefinedError`:

    >>> expr = Expression('nothing', lookup='strict')
    >>> expr.evaluate({})
    Traceback (most recent call last):
        ...
    UndefinedError: "nothing" not defined

The same happens when a non-existing attribute or item is accessed on an existing object:

    >>> expr = Expression('something.nil', lookup='strict')
    >>> expr.evaluate({'something': dict()})
    Traceback (most recent call last):
        ...
    UndefinedError: {} has no member named "nil"

Instance Methods
Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__hash__`, `__init__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__repr__`, `__setattr__`, `__sizeof__`, `__str__`, `__subclasshook__`

Class Methods
undefined(cls, key, owner=UNDEFINED) Raise an `UndefinedError` immediately. |
Inherited from `LookupBase`: `globals`, `lookup_attr`, `lookup_item`, `lookup_name`

Properties
Inherited from `object`: `__class__`

Method Details

### undefined(cls, key, owner=UNDEFINED) Class Method |
Raise an `UndefinedError` immediately. Parameters: `key` - the name of the variable `owner` - the owning object, if the variable is accessed as a member Overrides: LookupBase.undefined