当前位置: 首页>>代码示例>>Python>>正文


Python Bid._new方法代码示例

本文整理汇总了Python中r2.models.bidding.Bid._new方法的典型用法代码示例。如果您正苦于以下问题:Python Bid._new方法的具体用法?Python Bid._new怎么用?Python Bid._new使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在r2.models.bidding.Bid的用法示例。


在下文中一共展示了Bid._new方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: auth_transaction

# 需要导入模块: from r2.models.bidding import Bid [as 别名]
# 或者: from r2.models.bidding.Bid import _new [as 别名]
def auth_transaction(amount, user, payid, thing, test = None):
    # use negative pay_ids to identify freebies, coupons, or anything
    # that doesn't require a CC.
    if payid < 0:
        trans_id = -thing._id
        # update previous freebie transactions if we can
        try:
            bid = Bid.one(thing_id = thing._id,
                          pay_id = payid)
            bid.bid = amount
            bid.auth()
        except NotFound:
            bid = Bid._new(trans_id, user, payid, thing._id, amount)
        return bid.transaction

    elif int(payid) in PayID.get_ids(user):
        order = Order(invoiceNumber = "%dT%d" % (user._id, thing._id))
        success, res = _make_transaction(ProfileTransAuthOnly,
                                         amount, user, payid,
                                         order = order, test = test)
        if success:
            Bid._new(res.trans_id, user, payid, thing._id, amount)
            return res.trans_id
        elif res is None:
            # we are in test mode!
            return auth_transaction(amount, user, -1, thing, test = test)
        # duplicate transaction, which is bad, but not horrible.  Log
        # the transaction id, creating a new bid if necessary. 
        elif (res.response_code, res.response_reason_code) == (3,11):
            try:
                Bid.one(res.trans_id)
            except NotFound:
                Bid._new(res.trans_id, user, payid, thing._id, amount)
            return res.trans_id
开发者ID:kevinrose,项目名称:diggit,代码行数:36,代码来源:interaction.py

示例2: auth_transaction

# 需要导入模块: from r2.models.bidding import Bid [as 别名]
# 或者: from r2.models.bidding.Bid import _new [as 别名]
def auth_transaction(user, campaign_id, link_id, amount, payment_method_id, references):
    if payment_method_id not in PayID.get_ids(user._id):
        return None, "invalid payment method"

    profile_id = CustomerID.get_id(user._id)
    invoice = "T%dC%d" % (link_id, campaign_id)

    references["pay_id"] = payment_method_id

    try:
        authorize_response = api.create_authorization_hold(profile_id, payment_method_id, amount, invoice, request.ip)
        AuthorizeTransaction._new(authorize_response, **references)
    except api.DuplicateTransactionError as e:
        transaction_id = e.transaction_id
        try:
            bid = Bid.one(transaction_id, campaign=campaign_id)
        except NotFound:
            bid = Bid._new(transaction_id, user, payment_method_id, link_id, amount, campaign_id)
        g.log.error("%s on campaign %d" % (e.message, campaign_id))
        return transaction_id, None
    except api.TransactionError as e:
        authorize_response = e.authorize_response
        AuthorizeTransaction._new(authorize_response, **references)
        return None, e.message

    bid = Bid._new(authorize_response.trans_id, user, payment_method_id, link_id, amount, campaign_id)
    return authorize_response.trans_id, None
开发者ID:zeantsoi,项目名称:reddit,代码行数:29,代码来源:interaction.py

示例3: auth_transaction

# 需要导入模块: from r2.models.bidding import Bid [as 别名]
# 或者: from r2.models.bidding.Bid import _new [as 别名]
def auth_transaction(amount, user, payment_method_id, link, campaign_id):
    if payment_method_id not in PayID.get_ids(user._id):
        return None, "invalid payment method"

    profile_id = CustomerID.get_id(user._id)
    invoice = "T%dC%d" % (link._id, campaign_id)

    try:
        transaction_id = api.create_authorization_hold(
            profile_id, payment_method_id, amount, invoice, request.ip)
    except api.DuplicateTransactionError as e:
        transaction_id = e.transaction_id
        try:
            bid = Bid.one(transaction_id, campaign=campaign_id)
        except NotFound:
            bid = Bid._new(transaction_id, user, payment_method_id, link._id,
                           amount, campaign_id)
        g.log.error("%s on campaign %d" % (e.message, campaign_id))
        return transaction_id, None
    except api.TransactionError as e:
        return None, e.message

    bid = Bid._new(transaction_id, user, payment_method_id, link._id, amount,
                   campaign_id)
    return transaction_id, None
开发者ID:AHAMED750,项目名称:reddit,代码行数:27,代码来源:interaction.py

示例4: refund_transaction

# 需要导入模块: from r2.models.bidding import Bid [as 别名]
# 或者: from r2.models.bidding.Bid import _new [as 别名]
def refund_transaction(amount, user, trans_id, test=None):
    bid = Bid.one(trans_id)
    if trans_id > 0:
        # create a new bid to identify the refund
        success, res = _make_transaction(ProfileTransRefund, amount, user, bid.pay_id, trans_id=trans_id, test=test)
        if success:
            bid = Bid._new(res.trans_id, user, -1, bid.thing_id, amount)
            bid.refund()
            return bool(res.trans_id)
开发者ID:pastepotpete,项目名称:reddit,代码行数:11,代码来源:interaction.py

示例5: auth_freebie_transaction

# 需要导入模块: from r2.models.bidding import Bid [as 别名]
# 或者: from r2.models.bidding.Bid import _new [as 别名]
def auth_freebie_transaction(amount, user, link, campaign_id):
    transaction_id = -link._id

    try:
        # attempt to update existing freebie transaction
        bid = Bid.one(thing_id=link._id, transaction=transaction_id, campaign=campaign_id)
    except NotFound:
        bid = Bid._new(transaction_id, user, FREEBIE_PAYMENT_METHOD_ID, link._id, amount, campaign_id)
    else:
        bid.bid = amount
        bid.auth()

    return transaction_id, ""
开发者ID:zeantsoi,项目名称:reddit,代码行数:15,代码来源:interaction.py

示例6: auth_transaction

# 需要导入模块: from r2.models.bidding import Bid [as 别名]
# 或者: from r2.models.bidding.Bid import _new [as 别名]
def auth_transaction(amount, user, payid, thing, campaign):
    # use negative pay_ids to identify freebies, coupons, or anything
    # that doesn't require a CC.
    if payid < 0:
        trans_id = -thing._id
        # update previous freebie transactions if we can
        try:
            bid = Bid.one(thing_id=thing._id,
                          transaction=trans_id,
                          campaign=campaign)
            bid.bid = amount
            bid.auth()
        except NotFound:
            bid = Bid._new(trans_id, user, payid, thing._id, amount, campaign)
        return bid.transaction, ""

    elif int(payid) in PayID.get_ids(user):
        order = Order(invoiceNumber="T%dC%d" % (thing._id, campaign))
        success, res = _make_transaction(
            ProfileTransAuthOnly, amount, user, payid, order=order,
            include_request_ip=True)

        if success:
            Bid._new(res.trans_id, user, payid, thing._id, amount, campaign)
            return res.trans_id, ""

        elif (res.trans_id and
              (res.response_code, res.response_reason_code) == (3, 11)):
            # duplicate transaction, which is bad, but not horrible.  Log
            # the transaction id, creating a new bid if necessary.
            g.log.error("Authorize.net duplicate trans %d on campaign %d" % 
                        (res.trans_id, campaign))
            try:
                Bid.one(res.trans_id, campaign=campaign)
            except NotFound:
                Bid._new(res.trans_id, user, payid, thing._id, amount, campaign)

        return res.trans_id, res.response_reason_text
开发者ID:GodOfConquest,项目名称:reddit,代码行数:40,代码来源:interaction.py


注:本文中的r2.models.bidding.Bid._new方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。