def __init__(self): self.getLastJiaoyiri() self.goodStocks = {} self.sinaobj = getCurDataFromSina.sinaStockAPI() self.licai = licaizhe.licaizhe() self.sinaIdManage = sinaIdManage() self.sinaIdManage.initLocalData()
def get_context_data(self, **kwargs): try: context = super(EarningsOverView, self).get_context_data(**kwargs) kdataproc = ReadLocalData() shDapanRows = kdataproc.getLocalData(DPshzhongzhi) shDapanDict = {} print 'shDapanRows=',len(shDapanRows) for row in shDapanRows: shDapanDict[row[DATE_COL_DATE]]=row allOperRows = Operations.objects.all() ownerDict = {} sinaIds = [] for row in allOperRows: if ownerDict.has_key(row.owner): if ownerDict[row.owner].has_key(row.stockId): ownerDict[row.owner][row.stockId].append(row) else: ownerDict[row.owner][row.stockId] = [row] sinaIds.append(stockIDforSina(row.stockId)) else: ownerDict[row.owner] = {row.stockId:[row]} sinaIds.append(stockIDforSina(row.stockId)) sinadata = getCurDataFromSina.sinaStockAPI() resultmap = sinadata.getCurPriFromSina(sinaIds) realSinaData = {} for i in range(len(sinaIds)): realSinaData[sinaIds[i]] = resultmap[i] allOwnerInfo = [] idManager = getAllIdFromSina.sinaIdManage() idManager.initLocalData() for owner, stockrows in ownerDict.items(): curCostTotal, curEarningTotal, historyEarningTotal = 0,0,0 i = 0 listTableDatas = [] alreadyHolderDatas = [] for sid, onestock in stockrows.items(): if not sid in idManager.allstockmap: continue detailinfo = idManager.allstockmap[sid] sortdata = sorted(onestock,key = lambda x:x.time,reverse = False) #print onestock,'--',sortdata curCost, curEarning, historyEarning = self.analysisTrade(sortdata, realSinaData[stockIDforSina(sid)], listTableDatas, alreadyHolderDatas, detailinfo, shDapanDict) curCostTotal += curCost curEarningTotal += curEarning historyEarningTotal += historyEarning print owner,curCostTotal, curEarningTotal, historyEarningTotal allOwnerInfo.append([owner, listTableDatas,alreadyHolderDatas,curCostTotal, curEarningTotal, historyEarningTotal]) context['allOwnerInfo'] = allOwnerInfo except Exception as e: logger.exception(u'加载基本信息出错[%s]!', e) return context