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


Python Node.find_one方法代码示例

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


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

示例1: load

# 需要导入模块: from website.models import Node [as 别名]
# 或者: from website.models.Node import find_one [as 别名]
 def load(cls, key):
     from website.models import Node
     try:
         node = Node.find_one(Q('institution_id', 'eq', key), allow_institution=True)
         return cls(node)
     except NoResultsFound:
         return None
开发者ID:caspinelli,项目名称:osf.io,代码行数:9,代码来源:model.py

示例2: setUp

# 需要导入模块: from website.models import Node [as 别名]
# 或者: from website.models.Node import find_one [as 别名]
 def setUp(self, *args, **kwargs):
     OsfTestCase.setUp(self, *args, **kwargs)
     if not self.kind:
         return
     self.sanction = self.Factory()
     self.reg = Node.find_one(Q(self.Model.SHORT_NAME, 'eq', self.sanction))
     self.user = self.reg.creator
开发者ID:rmoorman,项目名称:osf.io,代码行数:9,代码来源:test_tokens.py

示例3: sanction_handler

# 需要导入模块: from website.models import Node [as 别名]
# 或者: from website.models.Node import find_one [as 别名]
def sanction_handler(kind, action, payload, encoded_token, auth, **kwargs):
    from website.models import (
        Node,
        Embargo,
        EmbargoTerminationApproval,
        RegistrationApproval,
        Retraction
    )

    Model = {
        'registration': RegistrationApproval,
        'embargo': Embargo,
        'embargo_termination_approval': EmbargoTerminationApproval,
        'retraction': Retraction
    }.get(kind, None)
    if not Model:
        raise UnsupportedSanctionHandlerKind

    sanction_id = payload.get('sanction_id', None)
    sanction = Model.load(sanction_id)

    err_code = None
    err_message = None
    if not sanction:
        err_code = http.BAD_REQUEST
        err_message = 'There is no {0} associated with this token.'.format(Model.DISPLAY_NAME)
    elif sanction.is_approved:
        # Simply strip query params and redirect if already approved
        return redirect(request.base_url)
    elif sanction.is_rejected:
        err_code = http.GONE if kind in ['registration', 'embargo'] else http.BAD_REQUEST
        err_message = "This registration {0} has been rejected.".format(sanction.DISPLAY_NAME)
    if err_code:
        raise HTTPError(err_code, data=dict(
            message_long=err_message
        ))

    do_action = getattr(sanction, action, None)
    if do_action:
        registration = Node.find_one(Q(sanction.SHORT_NAME, 'eq', sanction))
        registered_from = registration.registered_from
        try:
            do_action(auth.user, encoded_token)
        except TokenError as e:
            raise HTTPError(http.BAD_REQUEST, data={
                'message_short': e.message_short,
                'message_long': e.message_long
            })
        except PermissionsError as e:
            raise HTTPError(http.UNAUTHORIZED, data={
                'message_short': 'Unauthorized access',
                'message_long': e.message
            })
        sanction.save()
        return {
            'registration': registration_approval_handler,
            'embargo': embargo_handler,
            'embargo_termination_approval': embargo_termination_handler,
            'retraction': retraction_handler,
        }[kind](action, registration, registered_from)
开发者ID:545zhou,项目名称:osf.io,代码行数:62,代码来源:handlers.py

示例4: find_one

# 需要导入模块: from website.models import Node [as 别名]
# 或者: from website.models.Node import find_one [as 别名]
 def find_one(cls, query=None, **kwargs):
     from website.models import Node
     if query and getattr(query, 'nodes', False):
         for node in query.nodes:
             replacement_attr = cls.attribute_map.get(node.attribute, False)
             node.attribute = replacement_attr if replacement_attr else node.attribute
     elif isinstance(query, RawQuery):
         replacement_attr = cls.attribute_map.get(query.attribute, False)
         query.attribute = replacement_attr if replacement_attr else query.attribute
     query = query & Q('institution_id', 'ne', None) if query else Q('institution_id', 'ne', None)
     node = Node.find_one(query, allow_institution=True, **kwargs)
     return cls(node)
开发者ID:digideskio,项目名称:osf.io,代码行数:14,代码来源:model.py

示例5: get_or_create_node

# 需要导入模块: from website.models import Node [as 别名]
# 或者: from website.models.Node import find_one [as 别名]
def get_or_create_node(title, user):
    """Get or create node by title and creating user.

    :param str title: Node title
    :param User user: User creating node
    :return: Tuple of (node, created)
    """
    try:
        node = Node.find_one(
            Q('title', 'iexact', title)
            & Q('contributors', 'eq', user._id)
        )
        return node, False
    except ModularOdmException:
        node = new_node('project', title, user)
        return node, True
开发者ID:Alpani,项目名称:osf.io,代码行数:18,代码来源:utils.py

示例6: sanction_handler

# 需要导入模块: from website.models import Node [as 别名]
# 或者: from website.models.Node import find_one [as 别名]
def sanction_handler(kind, action, payload, encoded_token, auth, **kwargs):
    from website.models import Node, RegistrationApproval, Embargo, Retraction

    Model = {"registration": RegistrationApproval, "embargo": Embargo, "retraction": Retraction}.get(kind, None)
    if not Model:
        raise UnsupportedSanctionHandlerKind

    sanction_id = payload.get("sanction_id", None)
    sanction = Model.load(sanction_id)

    err_code = None
    err_message = None
    if not sanction:
        err_code = http.BAD_REQUEST
        err_message = "There is no {0} associated with this token.".format(Model.DISPLAY_NAME)
    elif sanction.is_approved:
        err_code = http.BAD_REQUEST if kind in ["registration", "embargo"] else http.GONE
        err_message = "This registration is not pending {0}.".format(sanction.DISPLAY_NAME)
    elif sanction.is_rejected:
        err_code = http.GONE if kind in ["registration", "embargo"] else http.BAD_REQUEST
        err_message = "This registration {0} has been rejected.".format(sanction.DISPLAY_NAME)
    if err_code:
        raise HTTPError(err_code, data=dict(message_long=err_message))

    do_action = getattr(sanction, action, None)
    if do_action:
        registration = Node.find_one(Q(sanction.SHORT_NAME, "eq", sanction))
        registered_from = registration.registered_from
        try:
            do_action(auth.user, encoded_token)
        except TokenError as e:
            raise HTTPError(http.BAD_REQUEST, data={"message_short": e.message_short, "message_long": e.message_long})
        except PermissionsError as e:
            raise HTTPError(http.UNAUTHORIZED, data={"message_short": "Unauthorized access", "message_long": e.message})
        sanction.save()
        return {
            "registration": registration_approval_handler,
            "embargo": embargo_handler,
            "retraction": retraction_handler,
        }[kind](action, registration, registered_from)
开发者ID:Alpani,项目名称:osf.io,代码行数:42,代码来源:handlers.py


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