when creating a series of objects, where each object represents a field from a submitted html form, how do I make variables that reference the objects be the same as the names of the respective objects ?
For example, I have a class called Datum:
class Datum:
def __init__(self, key, value, required=None, label=None):
self.key = key
self.value = value
self.required = required
self.label = label
and a dictionary of submitted values:
some_dict = {'applicant_full_name':'John Smith', 'applicant_address_line_1':'100 Main Street', 'applicant_city':'Anytown', 'applicant_state':'WY', 'applicant_postal_code':'55555', 'country':'US', ' applicant_email':'[EMAIL PROTECTED]', 'applicant_telephone':'555 555 5555'}
and I created a list of objects like so:
some_list = []
for key, value in some_dict.items():
some_datum = Datum(key, value)
some_list.append(some_datum)
so now I have a list of Datum instances called some_list, and I would like to make it so I can refer to each respective Datum instance by its Datum.key, e.g., applicant_full_name would refer to the Datum instance with key 'applicant_full_name' and applicant_full_name.value would give me "John Smith." I tried:
for x in some_list:
some_string = "%s = %s" % ( x.key, x)
eval(some_string)
and got:
Traceback (most recent call last):
File "<pyshell#98>", line 4, in -toplevel-
eval(some_string)
File "<string>", line 1
applicant_state = <__main__.Datum instance at 0x009745F8>
^
SyntaxError: invalid syntax
Am I doing something wrong ?
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor