Exemplo n.º 1
0
def process_in_crypto(Time, CurrencyTitle):
    
        Crypton = CryptoAccount(CurrencyTitle, "trade_stock")
        List = Crypton.listtransactions()
        user_system =   User.objects.get(id = 1)
        CurrencyInstance = Currency.objects.get(title = CurrencyTitle)
        getcontext().prec = crypton.settings.TRANS_PREC
        for trans in List :
                Txid = trans["txid"]
#		print "receive transactions %s" % (str(trans))
                if not trans.has_key("blocktime") or  trans["blocktime"]<Time:
#			print "old transactions ";
                        continue
		#if trans["amount"]<0.0001:
		#	continue  
                if trans["category"] == "receive":
                        Account  = None
                        Trans = None
                        Decimal = format_numbers_strong(trans["amount"])

                        try :
                               Account = PoolAccounts.objects.filter(address = trans["address"], currency = CurrencyInstance )
   
                               Trans = CryptoTransfers.objects.get(crypto_txid = Txid, currency = CurrencyInstance )  
                        except Accounts.DoesNotExist:
                               notify_admin_withdraw(u"unrecognized crypto incoming to %s %s %s" % (trans["address"],
                                                                                                     Decimal,
                                                                                                     CurrencyTitle
                                                                                                     ) ) 
                               continue
                        except  CryptoTransfers.DoesNotExist:
                                
                               if Account is not None:
                                        
                                        Trans =  CryptoTransfers(crypto_txid = Txid,
                                                                        status="created",
                                                                        amnt = Decimal,
                                                                        currency = CurrencyInstance ,
                                                                        account = trans["address"],
                                                                        user = Account.user,
                                                                        confirms = 0
                                                                        )
                                        Trans.save()
                
                        print "#%i receive %s to %s amount of %s" % (Trans.id, Txid, trans["address"], Trans.amnt )
                        print "confirmations %i" % (trans["confirmations"] )                        
                        print "this trans is %s" % (Trans.status)
                        if (Trans.status == "processing" or Trans.status == "created" ) and trans["confirmations"] > CryptoSettings["BTC"]["min_confirmation"]:
                                print "processing it %s" % (str(trans))
                                Trans.confirms = int(trans["confirmations"])
                                Trans.status = "processing"
                                Trans.save()
#				print "in in"
                                crypton_in(Trans, user_system)
                                
                        if Trans.status == "processing" or Trans.status == "created":     
 #                               print "update confirmations"
                                Trans.status = "processing"
                                Trans.confirms = int(trans["confirmations"])
                                Trans.save()
Exemplo n.º 2
0
def process_in_crypto(Time, CurrencyTitle):
    Crypton = CryptoAccount(CurrencyTitle, "trade_stock")
    List = Crypton.listtransactions()
    user_system = User.objects.get(id=1)
    CurrencyInstance = Currency.objects.get(title=CurrencyTitle)
    getcontext().prec = crypton.settings.TRANS_PREC
    for trans in List:
        Txid = trans["txid"]
        if trans.has_key("blocktime") and trans["blocktime"] < Time:
            print "old transactions ";
            print "blocktime is %i " % trans["blocktime"]
            continue

        if trans["category"] == "receive":
            Account = None
            Trans = None
        New = False
        Decimal = format_numbers_strong(trans["amount"])
        try:
            Account = Accounts.objects.get(reference=trans["address"])
            Trans = CryptoTransfers.objects.get(crypto_txid=Txid, currency=CurrencyInstance)
        except Accounts.DoesNotExist:
            continue
        except CryptoTransfers.DoesNotExist:
            Trans = CryptoTransfers(crypto_txid=Txid,
                                    status="created",
                                    amnt=Decimal,
                                    currency=CurrencyInstance,
                                    account=trans["address"],
                                    user=Account.user,
                                    confirms=0)
            Trans.save()
        print "in one trans to our accounts"
        print "#%i receive %s to %s amount of %s" % (Trans.id, Txid, trans["address"], trans['amount'] )
        print "confirmations %i" % (trans["confirmations"] )
        print "this trans is %s" % (Trans.status)
        if (Trans.status == "processing" or Trans.status == "created")\
            and trans["confirmations"] > CryptoSettings[CurrencyTitle]["min_confirmation"] :
            print "processing it %s" % (str(trans))
            Trans.confirms = int(trans["confirmations"])
            Trans.status = "processing"
            Trans.save()
            crypton_in(Trans, user_system)

    if Trans.status == "processing" or Trans.status == "created":
        Trans.status = "processing"
        Trans.confirms = int(trans["confirmations"])
        Trans.save()