示例#1
0
def post(odata):
    curr_session = db_session()
    tobj = CrudObj(**odata)
    curr_session.add(tobj)
    curr_session.commit()
    tobjstr = tobj.dump()
    return tobjstr, 201  #note: tobj.dump() here causes {} return, not sure why?!?
示例#2
0
def close(paydesk_id=None, cart_id=None):
    try:
        dbs = db_session()
        oldCart = dbs.query(Cart).filter(Cart.paydesk_id == paydesk_id,
                                         Cart.status == "OPEN").one_or_none()
        oldCart.status = "CLOSED"
        msg = {
            "msgtype": "INFO",
            "msgid": 0,
            "text": "Cart closed",
            "info": "Cart %d closed" % (oldCart.id)
        }
        newCart = Cart(paydesk_id=paydesk_id, status="OPEN")
        ret = dbs.add(newCart)
        dbs.commit()
        articles = dbs.query(Article).filter(
            Article.paydesk_id == paydesk_id,
            Article.cart_id == newCart.id).order_by(
                Article.scantime.desc()).all()
        return {
            "Msg": msg,
            "Cart": newCart.dump(),
            "Articles": [p.dump() for p in articles]
        }, 200
    except Exception as ex:
        msg = {
            "msgtype": "INFO",
            "msgid": 0,
            "text": "Cart closed",
            "info": "Cart %d closed" % (oldCart.id)
        }
        return {"Msg": msg}, 400
示例#3
0
def opencart(paydesk_id=None):
    try:
        msg = {
            "msgtype": "ERROR",
            "msgid": 2,
            "text": "Attempt to open cart",
            "info": "unexpected error"
        }
        if paydesk_id is None:
            raise Exception_InvalidPaydesk()

        dbs = db_session()
        cart = dbs.query(Cart).filter(Cart.paydesk_id == paydesk_id,
                                      Cart.status == "OPEN").one_or_none()
        if cart == None:
            cart = Cart(paydesk_id=paydesk_id, status="OPEN")
            ret = dbs.add(cart)
            dbs.commit()
            msg = {
                "msgtype": "INFO",
                "msgid": 0,
                "text": "Cart created",
                "info": "Cart %d created" % (cart.id)
            }
        else:
            msg = {
                "msgtype": "INFO",
                "msgid": 1,
                "text": "Cart re-opend",
                "info": "Cart %d reopend" % (cart.id)
            }
        articles = dbs.query(Article).filter(
            Article.paydesk_id == paydesk_id,
            Article.cart_id == cart.id).order_by(
                Article.scantime.desc()).all()
        return {
            "Msg": msg,
            "Cart": cart.dump(),
            "Articles": [p.dump() for p in articles]
        }, 200
    except Exception as ex:
        msg = {
            "msgtype": "ERROR",
            "msgid": 0,
            "text": "Severe Error",
            "info": ""
        }
        return msg, 400