def data_cartitem(self, context, data): def _(result, lensid, weeks, qty): if not result: return None print "data_cartitem" print result subtotal = "%.2f" % (result[0]['price']*weeks*qty,) subtotal = float(subtotal) self.avatar.sc[lensid].subtotal = subtotal subtotal = "$" + str(subtotal) #return T.p[subtotal] return subtotal def printError(failure): import sys sys.stderr.write(str(failure)) def meta(result): print "inside meta" if not result: return None return result[0]['codes'] dictlist = [] for k, v in self.avatar.sc.items(): tmpdict = {} # htmllist.append([T.p[v.lensid],\ # T.p[v.weeks], T.p[v.lensqty]\ # ]) lensprice = self.avatar.db.fetchLens(v.lensid[0]) lensprice.addCallback(_, v.lensid[0], v.weeks, v.lensqty) lensprice.addErrback(printError) metadata = self.avatar.db.fetchLens(v.lensid[0]) metadata.addCallback(meta, v.lensid[0]) # tmpdict['codes'] = metadata tmpdict['codes'] = 'place' tmpdict['lensprice'] = lensprice tmpdict['lensid'] = v.lensid tmpdict['weeks'] = v.weeks tmpdict['lensqty'] = v.lensqty dictlist.append(tmpdict) return dictlist