Beispiel #1
0
def __inner_remove_order(Order, User):
    Order2Remove = OrdersMem.objects.get(user=User.id, id=int(Order), status="processing")
    if not Order2Remove.verify(str(User.id)) :
        return False

    Market = TradePairs.objects.get(id=Order2Remove.trade_pair)

    Order2Remove.status = "canceled"
    Order2Remove.save()
    Title = Market.url_title

    LOCK = "trades" + Title
    TradeLock = my_lock(LOCK)

    try:
        Account = get_account(user=User, currency_id=Order2Remove.currency1)

        add_trans2(Account,
                   Order2Remove.sum1,
                   Order2Remove.currency1,
                   Order2Remove,
                   "order_cancel")

        cache = caching()
        cache.delete_many(["buy_list_" + Title,
                           "sell_list_" + Title,
                           "balance_" + str(User.id),
                           'client_orders_' + str(User.id) + "_" + Title])

        my_release(TradeLock)
        return True
    except:

        my_release(TradeLock)
        return False
Beispiel #2
0
    def __init__(self, *args, **kwargs):
        logging.debug("setup memcache")
        self.keyprefix = kwargs.get("keyprefix",
                                    "django.contrib.sessions.cache")

        self.storage = caching()
        self.is_local = False
        self.key_function = kwargs.get(
            "key_function",
            lambda key: MemCacheStore.key_function(key, self.keyprefix, 0))
Beispiel #3
0
def reload_cache(Res, Type):
    cache = caching()
    DeleteKeys = []
    for i in Res["users_bothered"]:
        CachedKey1 = 'client_orders_' + str(i) + "_" + Type
        CachedKey2 = 'balance_' + str(i)
        DeleteKeys.append(CachedKey1)
        DeleteKeys.append(CachedKey2)
        # deal_list_btc_uah
    DeleteKeys.append("deal_list_" + Type)
    DeleteKeys.append("sell_list_" + Type)
    DeleteKeys.append("buy_list_" + Type)
    logging.debug("delete this keys %s " % str(DeleteKeys))

    cache.delete_many(DeleteKeys)
Beispiel #4
0
def cache_control(Req):
    do = Req.REQUEST.get("do", None)
    cache = caching()

    if do == "flush":
        return json_false500(Req)

    if do == "get":
        key = Req.REQUEST.get("key")
        return HttpResponse(str(cache.get(key,"")))

    if do == "del":
        key = Req.REQUEST.get("key")
        value = str(cache.get(key,""))
        cache.delete(key)
        return HttpResponse(value)

    return json_false500(Req)
Beispiel #5
0
def auth(Req):
    Nonce = Req.REQUEST.get("nonce", None)
    if Nonce is None:
        return json_false500(Req)

    Sign = Req.META.get('HTTP_API_SIGN', None)

    if Sign is None:
        return json_false500(Req, {"description": "invalid_params", "key": "api_sign"})

    PublicKey = Req.META.get('HTTP_PUBLIC_KEY', None)
    if PublicKey is None:
        return json_false500(Req, {"description": "invalid_params", "key": "public_key"})

    try:
        Req.user = check_api_sign(PublicKey, Sign, Req.body)
        Cache = caching()
        Cache.set("nonce_" + PublicKey, int(Nonce), 50000)
        Nonce = Cache.get("nonce_" + PublicKey)
        return json_true(Req, {"nonce": Nonce, "public_key": PublicKey})
    except:
        return json_false500(Req, {"description": "auth_faild"})