Exemple #1
0
def updateRecord():
    key = entries['key'].get()
    if key in db:
        record = db[key]
    else:
        from person_alternative import Person
        record = Person(name='?', age='?')
    for field in fieldnames:
        setattr(record, field, eval(entries[field].get()))
        print('success!')
        db[key] = record
Exemple #2
0
def updateRecord(db_a, form_a):
    if not 'key' in form_a:
        fields_a = dict.fromkeys(fieldnames, '?')
        fields_a['key'] = 'Missing key input!'
    else:
        key = form_a['key'].value
        if key in db_a:
            record = db_a[key]
        else:
            from person_alternative import Person
            record = Person(name='?', age='?')
        for field in fieldnames:
            setattr(record, field, eval(form_a[field].value))
        db_a[key] = record
        fields_a = record.__dict__
        fields_a['key'] = key
    return fields_a
import shelve
from person_alternative import Person, Manager
#from person import Person
#from manager import Manager

bob = Person('Bob Smith', 42, 30000, 'software')
sue = Person('Sue Jones', 45, 40000, 'hardware')
tom = Manager('Tom Doe', 50, 50000)

db = shelve.open('.\cgi-bin\class-shelve')
db['bob'] = bob
db['sue'] = sue
db['tom'] = tom
db.close()
#!/usr/bin/env python3

import shelve
from person_alternative import Person

fieldnames = ('name', 'age', 'job', 'pay')
db = shelve.open('class-shelve')

while True:
    key = input('\nKey? => ')
    if not key: break
    elif key in db:
        record = db[key]
    else:
        record = Person(name='?', age='?')
    for field in fieldnames:
        currval = getattr(record, field)
        newtext = input('\t[%s]=%s\n\t\tnew?=>' % (field, currval))
        if newtext:
            setattr(record, field, eval(newtext))
    db[key] = record
db.close()