On Thu, Dec 25, 2008 at 4:16 PM, J. Clifford Dyer <j...@sdf.lonestar.org> wrote:
<snip>
> and so forth.  Then your if/else chain can be pulled out to the place where 
> you instantiate each field:
>
> if data_type=='address':
>    field=AddressDataField(data)
> elif data_type=='due_date':
>    field=DueDateDataField(data)
> else:
>    field = DataField(data)
>

And then you use a dictionary of data_type to class to get rid of the
if-else chain altogether:

type2klass = {'address' : AddressDataField, 'due_date' : DueDateDataField} #etc
Klass = type2klass.get(data_type, DataField) #use DataField as fallback default
field = Klass(data)

Merry Christmas,
Chris

-- 
Follow the path of the Iguana...
http://rebertia.com
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to