GIF87a; 404

MY HEART




Upload:

Command:

diavoloapp@3.129.209.87: ~ $
# A wrapper around the (optional) built-in class dbm, supporting keys
# and values of almost any type instead of just string.
# (Actually, this works only for keys and values that can be read back
# correctly after being converted to a string.)


class Dbm:

    def __init__(self, filename, mode, perm):
        import dbm
        self.db = dbm.open(filename, mode, perm)

    def __repr__(self):
        s = ''
        for key in self.keys():
            t = repr(key) + ': ' + repr(self[key])
            if s: t = ', ' + t
            s = s + t
        return '{' + s + '}'

    def __len__(self):
        return len(self.db)

    def __getitem__(self, key):
        return eval(self.db[repr(key)])

    def __setitem__(self, key, value):
        self.db[repr(key)] = repr(value)

    def __delitem__(self, key):
        del self.db[repr(key)]

    def keys(self):
        res = []
        for key in self.db.keys():
            res.append(eval(key))
        return res

    def has_key(self, key):
        return self.db.has_key(repr(key))


def test():
    d = Dbm('@dbm', 'rw', 0600)
    print d
    while 1:
        try:
            key = input('key: ')
            if d.has_key(key):
                value = d[key]
                print 'currently:', value
            value = input('value: ')
            if value is None:
                del d[key]
            else:
                d[key] = value
        except KeyboardInterrupt:
            print ''
            print d
        except EOFError:
            print '[eof]'
            break
    print d


test()

Filemanager

Name Type Size Permission Actions
Complex.py File 9.72 KB 0644
Complex.pyc File 9.79 KB 0644
Complex.pyo File 9.79 KB 0644
Dates.py File 7.64 KB 0644
Dates.pyc File 7.16 KB 0644
Dates.pyo File 7.16 KB 0644
Dbm.py File 1.54 KB 0644
Dbm.pyc File 2.46 KB 0644
Dbm.pyo File 2.46 KB 0644
README File 522 B 0644
Range.py File 3.05 KB 0644
Range.pyc File 4 KB 0644
Range.pyo File 4 KB 0644
Rev.py File 2 KB 0644
Rev.pyc File 2.8 KB 0644
Rev.pyo File 2.8 KB 0644
Vec.py File 1.33 KB 0644
Vec.pyc File 2.75 KB 0644
Vec.pyo File 2.75 KB 0644
bitvec.py File 10.25 KB 0644
bitvec.pyc File 10.05 KB 0644
bitvec.pyo File 10.05 KB 0644