def __setitem__(self, key, value, sync=True): if not len(key) == 14: raise FreetimeKeyError(key) if not key[0:4].isdigit(): raise FreetimeKeyError(key) if not key[5:7].isdigit(): raise FreetimeKeyError(key) if not key[8:9].isdigit(): raise FreetimeKeyError(key) if not key[10:12].isdigit(): raise FreetimeKeyError(key) if not key[13:14].isdigit(): raise FreetimeKeyError(key) # # Maintain a list of all repeatable entries for a particular year, month # and weekday daykey = key[:9] if not self.has_key( daykey ): DictType.__setitem__( self, daykey, ([],[]) ) daykeys = self.__getitem__( daykey ) keyvals = [0,1] for keyval in keyvals: if value == keyval: if not key in daykeys[keyval]: daykeys[keyval].append( key ) elif sync: if key in daykeys[keyval]: daykeys[keyval].remove( key ) #print daykeys return DictType.__setitem__(self, key, value)
def __setitem__(self, name, val): if type(val) == type("") and val.lower() in ['no', 'false']: val = False DictType.__setitem__(self, name, val)