Help cleaning up some code
Scott David Daniels
Scott.Daniels at Acm.Org
Sat Mar 7 16:07:07 EST 2009
odeits wrote:
> I am looking to clean up this code... any help is much appreciated.
> Note: It works just fine, I just think it could be done cleaner.
>
> The result is a stack of dictionaries. the query returns up to
> STACK_SIZE ads for a user. The check which i think is very ugly is
> putting another contraint saying that all of the ni have to be the
> same.
Well, the obvious way to get your constraint is by changing your SQL,
but if you are going to do it by fetching rows, try:
FIELDS = 'ni adid rundateid rundate city state status'.split()
ni = UNSET = object() # use None unless None might be the value
stack = []
rows = self.con.execute(adquerystring, (user,STACK_SIZE)).fetchall()
for row in rows:
ad = dict()
for field in FIELDS:
ad[field] = row[field]
for field in 'city', 'state':
if ad[field] is None:
ad[field] = 'None'
if ni != ad['ni']:
if ni is UNSET:
ni = ad['ni']
else:
break
stack.append(ad)
--Scott David Daniels
Scott.Daniels at Acm.Org
More information about the Python-list
mailing list