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
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()