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


Python User.find方法代码示例

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


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

示例1: test_properly_scoped_token_can_create_without_username_but_not_send_email

# 需要导入模块: from website.models import User [as 别名]
# 或者: from website.models.User import find [as 别名]
    def test_properly_scoped_token_can_create_without_username_but_not_send_email(self, mock_auth, mock_mail):
        token = ApiOAuth2PersonalToken(
            owner=self.user,
            name='Authorized Token',
            scopes='osf.users.create'
        )

        mock_cas_resp = CasResponse(
            authenticated=True,
            user=self.user._id,
            attributes={
                'accessToken': token.token_id,
                'accessTokenScope': [s for s in token.scopes.split(' ')]
            }
        )
        mock_auth.return_value = self.user, mock_cas_resp

        self.data['data']['attributes'] = {'full_name': 'No Email'}

        assert_equal(User.find(Q('fullname', 'eq', 'No Email')).count(), 0)
        res = self.app.post_json_api(
            '{}?send_email=true'.format(self.base_url),
            self.data,
            headers={'Authorization': 'Bearer {}'.format(token.token_id)}
        )

        assert_equal(res.status_code, 201)
        assert_equal(res.json['data']['attributes']['username'], None)
        assert_equal(User.find(Q('fullname', 'eq', 'No Email')).count(), 1)
        assert_equal(mock_mail.call_count, 0)
开发者ID:atelic,项目名称:osf.io,代码行数:32,代码来源:test_user_list.py

示例2: test_improperly_scoped_token_can_not_create_or_email

# 需要导入模块: from website.models import User [as 别名]
# 或者: from website.models.User import find [as 别名]
    def test_improperly_scoped_token_can_not_create_or_email(self, mock_auth, mock_mail):
        token = ApiOAuth2PersonalToken(
            owner=self.user,
            name='Unauthorized Token',
            scopes='osf.full_write'
        )

        mock_cas_resp = CasResponse(
            authenticated=True,
            user=self.user._id,
            attributes={
                'accessToken': token.token_id,
                'accessTokenScope': [s for s in token.scopes.split(' ')]
            }
        )
        mock_auth.return_value = self.user, mock_cas_resp

        assert_equal(User.find(Q('username', 'eq', self.unconfirmed_email)).count(), 0)
        res = self.app.post_json_api(
            '{}?send_email=true'.format(self.base_url),
            self.data,
            headers={'Authorization': 'Bearer {}'.format(token.token_id)},
            expect_errors=True
        )

        assert_equal(res.status_code, 403)
        assert_equal(User.find(Q('username', 'eq', self.unconfirmed_email)).count(), 0)
        assert_equal(mock_mail.call_count, 0)
开发者ID:atelic,项目名称:osf.io,代码行数:30,代码来源:test_user_list.py

示例3: test_admin_scoped_token_can_create_and_send_email

# 需要导入模块: from website.models import User [as 别名]
# 或者: from website.models.User import find [as 别名]
    def test_admin_scoped_token_can_create_and_send_email(self, mock_auth, mock_mail):
        token = ApiOAuth2PersonalToken(
            owner=self.user,
            name='Admin Token',
            scopes='osf.admin'
        )

        mock_cas_resp = CasResponse(
            authenticated=True,
            user=self.user._id,
            attributes={
                'accessToken': token.token_id,
                'accessTokenScope': [s for s in token.scopes.split(' ')]
            }
        )
        mock_auth.return_value = self.user, mock_cas_resp

        assert_equal(User.find(Q('username', 'eq', self.unconfirmed_email)).count(), 0)
        res = self.app.post_json_api(
            '{}?send_email=true'.format(self.base_url),
            self.data,
            headers={'Authorization': 'Bearer {}'.format(token.token_id)}
        )

        assert_equal(res.status_code, 201)
        assert_equal(res.json['data']['attributes']['username'], self.unconfirmed_email)
        assert_equal(User.find(Q('username', 'eq', self.unconfirmed_email)).count(), 1)
        assert_equal(mock_mail.call_count, 1)
开发者ID:atelic,项目名称:osf.io,代码行数:30,代码来源:test_user_list.py

示例4: test_logged_out_user_cannot_create_other_user_or_send_mail

# 需要导入模块: from website.models import User [as 别名]
# 或者: from website.models.User import find [as 别名]
    def test_logged_out_user_cannot_create_other_user_or_send_mail(self, mock_mail):
        assert_equal(User.find(Q('username', 'eq', self.unconfirmed_email)).count(), 0)
        res = self.app.post_json_api(
            '{}?send_email=true'.format(self.base_url),
            self.data,
            expect_errors=True
        )

        assert_equal(res.status_code, 401)
        assert_equal(User.find(Q('username', 'eq', self.unconfirmed_email)).count(), 0)
        assert_equal(mock_mail.call_count, 0)
开发者ID:atelic,项目名称:osf.io,代码行数:13,代码来源:test_user_list.py

示例5: test_cookied_requests_can_create_and_email

# 需要导入模块: from website.models import User [as 别名]
# 或者: from website.models.User import find [as 别名]
    def test_cookied_requests_can_create_and_email(self, mock_mail):
        session = Session(data={'auth_user_id': self.user._id})
        session.save()
        cookie = itsdangerous.Signer(settings.SECRET_KEY).sign(session._id)
        self.app.set_cookie(settings.COOKIE_NAME, str(cookie))

        assert_equal(User.find(Q('username', 'eq', self.unconfirmed_email)).count(), 0)
        res = self.app.post_json_api(
            '{}?send_email=true'.format(self.base_url),
            self.data
        )
        assert_equal(res.status_code, 201)
        assert_equal(User.find(Q('username', 'eq', self.unconfirmed_email)).count(), 1)
        assert_equal(mock_mail.call_count, 1)
开发者ID:atelic,项目名称:osf.io,代码行数:16,代码来源:test_user_list.py

示例6: redirect_to_twitter

# 需要导入模块: from website.models import User [as 别名]
# 或者: from website.models.User import find [as 别名]
def redirect_to_twitter(twitter_handle):
    """Redirect GET requests for /@TwitterHandle/ to respective the OSF user
    account if it associated with an active account

    :param uid: uid for requested User
    :return: Redirect to User's Twitter account page
    """
    try:
        user = User.find_one(Q("social.twitter", "iexact", twitter_handle))
    except NoResultsFound:
        raise HTTPError(
            http.NOT_FOUND,
            data={
                "message_short": "User Not Found",
                "message_long": "There is no active user associated with the Twitter handle: {0}.".format(
                    twitter_handle
                ),
            },
        )
    except MultipleResultsFound:
        users = User.find(Q("social.twitter", "iexact", twitter_handle))
        message_long = (
            "There are multiple OSF accounts associated with the "
            "Twitter handle: <strong>{0}</strong>. <br /> Please "
            "select from the accounts below. <br /><ul>".format(markupsafe.escape(twitter_handle))
        )
        for user in users:
            message_long += '<li><a href="{0}">{1}</a></li>'.format(user.url, markupsafe.escape(user.fullname))
        message_long += "</ul>"
        raise HTTPError(
            http.MULTIPLE_CHOICES, data={"message_short": "Multiple Users Found", "message_long": message_long}
        )

    return redirect(user.url)
开发者ID:cwisecarver,项目名称:osf.io,代码行数:36,代码来源:views.py

示例7: get_events

# 需要导入模块: from website.models import User [as 别名]
# 或者: from website.models.User import find [as 别名]
    def get_events(self, date):
        """ Get all node logs from a given date for a 24 hour period,
        ending at the date given.
        """
        super(UserDomainEvents, self).get_events(date)

        # In the end, turn the date back into a datetime at midnight for queries
        date = datetime(date.year, date.month, date.day).replace(tzinfo=pytz.UTC)

        logger.info('Gathering user domains between {} and {}'.format(
            date, (date + timedelta(1)).isoformat()
        ))

        user_query = Q('date_confirmed', 'lt', date + timedelta(1)) & Q('date_confirmed', 'gte', date)
        users = User.find(user_query)
        user_domain_events = []
        for user in users:
            user_date = user.date_confirmed.replace(tzinfo=pytz.UTC)
            event = {
                'keen': {'timestamp': user_date.isoformat()},
                'date': user_date.isoformat(),
                'domain': user.username.split('@')[-1]
            }
            user_domain_events.append(event)

        logger.info('User domains collected. {} users and their email domains.'.format(len(user_domain_events)))
        return user_domain_events
开发者ID:chrisseto,项目名称:osf.io,代码行数:29,代码来源:user_domain_events.py

示例8: test_cookied_requests_do_not_create_or_email

# 需要导入模块: from website.models import User [as 别名]
# 或者: from website.models.User import find [as 别名]
    def test_cookied_requests_do_not_create_or_email(self, mock_mail):
        session = Session(data={'auth_user_id': self.user._id})
        session.save()
        cookie = itsdangerous.Signer(settings.SECRET_KEY).sign(session._id)
        self.app.set_cookie(settings.COOKIE_NAME, str(cookie))

        assert_equal(User.find(Q('username', 'eq', self.unconfirmed_email)).count(), 0)
        res = self.app.post_json_api(
            self.base_url,
            self.data,
            expect_errors=True
        )

        assert_equal(res.status_code, 403)
        assert_equal(User.find(Q('username', 'eq', self.unconfirmed_email)).count(), 0)
        assert_equal(mock_mail.call_count, 0)
开发者ID:brianjgeiger,项目名称:osf.io,代码行数:18,代码来源:test_user_list.py

示例9: redirect_to_twitter

# 需要导入模块: from website.models import User [as 别名]
# 或者: from website.models.User import find [as 别名]
def redirect_to_twitter(twitter_handle):
    """Redirect GET requests for /@TwitterHandle/ to respective the OSF user
    account if it associated with an active account

    :param uid: uid for requested User
    :return: Redirect to User's Twitter account page
    """
    try:
        user = User.find_one(Q('social.twitter', 'iexact', twitter_handle))
    except NoResultsFound:
        raise HTTPError(http.NOT_FOUND, data={
            'message_short': 'User Not Found',
            'message_long': 'There is no active user associated with the Twitter handle: {0}.'.format(twitter_handle)
        })
    except MultipleResultsFound:
        users = User.find(Q('social.twitter', 'iexact', twitter_handle))
        message_long = 'There are multiple OSF accounts associated with the ' \
                       'Twitter handle: <strong>{0}</strong>. <br /> Please ' \
                       'select from the accounts below. <br /><ul>'.format(twitter_handle)
        for user in users:
            message_long += '<li><a href="{0}">{1}</a></li>'.format(user.url, user.fullname)
        message_long += '</ul>'
        raise HTTPError(http.MULTIPLE_CHOICES, data={
            'message_short': 'Multiple Users Found',
            'message_long': message_long
        })

    return redirect(user.url)
开发者ID:DanielSBrown,项目名称:osf.io,代码行数:30,代码来源:views.py

示例10: get_active_users

# 需要导入模块: from website.models import User [as 别名]
# 或者: from website.models.User import find [as 别名]
def get_active_users():
    return User.find(
        Q('is_registered', 'eq', True) &
        Q('password', 'ne', None) &
        Q('is_merged', 'ne', True) &
        Q('date_confirmed', 'ne', None)
    )
开发者ID:csheldonhess,项目名称:osf.io,代码行数:9,代码来源:benchmarks.py

示例11: do_migration

# 需要导入模块: from website.models import User [as 别名]
# 或者: from website.models.User import find [as 别名]
def do_migration():
    users = User.find(Q('email_verifications', 'eq', None))
    migrated = 0
    for user in users:
        logger.info('Setting email_verifications for user {} to {{}}'.format(user._id))
        user.email_verifications = {}
        user.save()
        migrated += 1
    logger.info('Migrated {} users'.format(migrated))
开发者ID:adlius,项目名称:osf.io,代码行数:11,代码来源:ensure_email_verifications.py

示例12: get_active_users

# 需要导入模块: from website.models import User [as 别名]
# 或者: from website.models.User import find [as 别名]
def get_active_users(extra=None):
    query = (
        Q('is_registered', 'eq', True) &
        Q('password', 'ne', None) &
        Q('is_merged', 'ne', True) &
        Q('date_confirmed', 'ne', None)
    )
    query = query & extra if extra else query
    return User.find(query)
开发者ID:KerryKDiehl,项目名称:osf.io,代码行数:11,代码来源:benchmarks.py

示例13: main

# 需要导入模块: from website.models import User [as 别名]
# 或者: from website.models.User import find [as 别名]
def main(dry=True):
    count = 0
    for user in User.find(Q('username', 'eq', None)):
        logger.info('Setting username for {}'.format(user._id))
        if not dry:
            user.username = user._id
            user.save()
        count += 1
    logger.info('Migrated {} users.'.format(count))
开发者ID:adlius,项目名称:osf.io,代码行数:11,代码来源:set_null_usernames_to_guid.py

示例14: log_duplicate_acount

# 需要导入模块: from website.models import User [as 别名]
# 或者: from website.models.User import find [as 别名]
def log_duplicate_acount(dry):
    duplicate_emails = get_duplicate_email()
    count = 0
    if duplicate_emails:
        for email in duplicate_emails:
            users = User.find(Q('emails', 'eq', email) & Q('merged_by', 'eq', None) & Q('username', 'ne', None))
            for user in users:
                count += 1
                logger.info("User {}, username {}, id {}, email {} is a duplicate"
                            .format(user.fullname, user.username, user._id, user.emails))
    logger.info("Found {} users with duplicate emails".format(count))
开发者ID:545zhou,项目名称:osf.io,代码行数:13,代码来源:get_duplicate_account.py

示例15: main

# 需要导入模块: from website.models import User [as 别名]
# 或者: from website.models.User import find [as 别名]
def main(dry=True):
    init_app(set_backends=True, routes=False)
    count = 0
    for user in User.find(Q("is_claimed", "eq", None)):
        is_claimed = bool(user.date_confirmed)
        logger.info("User {}: setting is_claimed to {}".format(user._id, is_claimed))
        user.is_claimed = is_claimed
        count += 1
        if not dry:
            user.save()
    logger.info("Migrated {} users.".format(count))
开发者ID:Alpani,项目名称:osf.io,代码行数:13,代码来源:fix_is_claimed.py


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