summaryrefslogtreecommitdiff
path: root/cheetah/Tools/RecursiveNull.py
blob: d5c1ef0d66242cd2f1564b9de0743432924d3ad2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
"""
Nothing, but in a friendly way.  Good for filling in for objects you want to
hide.  If $form.f1 is a RecursiveNull object, then
$form.f1.anything["you"].might("use") will resolve to the empty string.

This module was contributed by Ian Bicking.
"""

class RecursiveNull(object):
    def __getattr__(self, attr):
        return self
    def __getitem__(self, item):
        return self
    def __call__(self, *args, **kwargs):
        return self
    def __str__(self):
        return ''
    def __repr__(self):
        return ''
    def __nonzero__(self):
        return 0
    def __eq__(self, x):
        if x:
            return False
        return True
    def __ne__(self, x):
        return x and True or False