Example #1
0
 def put(self, key, value):
     """
     >>> o = EzdmObject({'a/b': 1, 'a/c': 2})
     >>> o.put('/f/g', 16)
     >>> o()['f/g']
     16
     """
     self.objdata[stripslashes(key)] = value
Example #2
0
 def get(self, key, default=None):
     """
     >>> o = EzdmObject({'a/b': 1, 'a/c': 2})
     >>> o.get('/a', '') 
     ''
     >>> o.get('/a/b', '')
     1
     >>> o.get('/f/g', 5)
     5
     """
     key = stripslashes(key)
     if not self() or not key in self():
         if default is not None:
             return default
     return self()[key]
Example #3
0
def realkey(key):
    key = stripslashes(key)
    if key.startswith('conditional'):
        conditions = [k for k in key.split('/') if '=' in k]
        for condition in conditions:
            newkey = key.split('/')
            newkey = newkey[newkey.index(condition):][1:]
            newkey = '/'.join(newkey)
            newkey = newkey.replace('.','/')
            key = newkey
    ret = []
    for k in key.split('/'):
        if k.startswith('__'):
            ret.append(k[3:])
        else:
            ret.append(k)
    return '/'.join(ret).strip('/')