Example #1
0
File: views.py Project: luojun13/s
def mytrade_digest(req):
    csrf_token = get_token(req)
    #holding
    mtu = MyTradeUtil()
    holding_stocks = MyTradeDigestStock.objects.filter(user__username=req.user,holding__gt=0)
    for s in holding_stocks:
        #s.stock.code = "%06d" % s.stock.code
        bret,close,profit = mtu.calc_single_stock_floatprofit(s,s.stock.code)
        if bret == False:
            close = '-'
            profit = '-'
        s.close = close
        s.market_price = s.close*s.holding
        s.float_profit = profit

    #history trade
    history_stocks = MyTradeDigestStock.objects.filter(user__username=req.user,holding=0)
    #for s in history_stocks:
    #    s.stock.code = "%06d" % s.stock.code
    #error_code
    err_stocks = MyTradeDigestErrorStock.objects.filter(user__username=req.user)
    if len(err_stocks)>0:
        #print len(err_stocks)
        for s in err_stocks:
            s.code = "%06d" % s.code
        return render_to_response('mytrade/mytrade_digest.html',{'holding_stocks':holding_stocks,'history_stocks':history_stocks,'error_stocks':err_stocks,'csrf_token':csrf_token},context_instance=RequestContext(req))
    else:
        return render_to_response('mytrade/mytrade_digest.html',{'holding_stocks':holding_stocks,'history_stocks':history_stocks,'csrf_token':csrf_token},context_instance=RequestContext(req))
Example #2
0
    def upload_complete(self, request, filename, *args, **kwargs):
        path = settings.MEDIA_URL + self.UPLOAD_DIR + "/" + filename
        self._dest.close()
        print "in mytrade upload backend upload successful :" + path

        # 文件上传成功之后,将交易记录导入到数据库中
        mtu = MyTradeUtil()
        username = "******"
        csvfile = path
        # csvfile = 'e:/table0.csv'
        # stocks = []
        # funds = []
        bret, stocks, funds = mtu.import_csv(csvfile, username)
        if bret:
            print "import csv succeed"
            print stocks
            print funds
            if os.path.isfile(path):
                os.remove(path)
            for stock in stocks:
                print stock
                mtu.calc_stock_earning(username, stock)
                status, stockname = mtu.calc_stock_digest(username, stock)
                if status == False:
                    print "calc_stock_digest failed %s" % stockname
                    err_stocks = MyTradeDigestErrorStock.objects.filter(code=stock, user__username=username)
                    print err_stocks
                    if len(err_stocks) == 0:
                        err_stock = MyTradeDigestErrorStock()
                    else:
                        err_stock = err_stocks[0]
                    err_stock.code = stock
                    err_stock.name = stockname
                    err_stock.user = User.objects.get(username=username)
                    err_stock.save()

            for fund in funds:
                if mtu.calc_fund_digest(username, fund) == False:
                    print "calc_fund_digest failed"
        else:
            print "import csv failed"

        return {"path": path}