• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python models.User类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: render

    def render(self):

        login_url = resource_url(self.request.context, self.request, 'login')
        referrer = self.request.url
        # never use the login form itself as came_from
        if referrer == login_url:
            referrer = '/'
        came_from = self.request.params.get('came_from', referrer)
        login = self.request.params.get('user.login', '')
        if 'form.submitted' in self.request.params:
            password = self.request.params.get('user.password', u'')
            if password:
                if User.by_ldap_credentials(
                        self.session, login, password,
                        self.request.registry.settings) is not None:
                    log.info('login %r succeed', login)
                    headers = remember(self.request, login)
                    return HTTPFound(location=came_from,
                                     headers=headers)
 
                if User.by_credentials(
                        self.session, login, password) is not None:
                    log.info('login %r succeed', login)
                    headers = remember(self.request, login)
                    return HTTPFound(location=came_from,
                                     headers=headers)

        return {'came_from': came_from,
                'user': User(login=login),
                }
开发者ID:EasyPost,项目名称:pyshop,代码行数:30,代码来源:credentials.py


示例2: authenticated_userid

    def authenticated_userid(self, request):

        auth = request.environ.get('HTTP_AUTHORIZATION')
        try:
            authmeth, auth = auth.split(' ', 1)
        except AttributeError:  # not enough values to unpack
            return None

        if authmeth.lower() != 'basic':
            return None

        try:
            # Python 3's string is already unicode
            auth = base64.b64decode(auth.strip())
        except binascii.Error:  # can't decode
            return None

        if not isinstance(auth, unicode):
            auth = auth.decode('utf-8')

        try:
            login, password = auth.split(':', 1)
        except ValueError:  # not enough values to unpack
            return None

        if User.by_credentials(DBSession(), login, password):
            return login
        
        if User.by_ldap_credentials(DBSession(), login, password,request.registry.settings):
            return login
        
        return None
开发者ID:EasyPost,项目名称:pyshop,代码行数:32,代码来源:authentication.py


示例3: render

    def render(self):

        package = Package.by_name(self.session, self.request.matchdict["package_name"])
        if not package:
            raise HTTPNotFound()

        if "form.refresh_package" in self.request.params:
            package.update_at = None
            self.session.add(package)

        owners = dict((usr.login, usr) for usr in package.owners)
        can_edit_role = self.login in owners.keys() and package.local

        if "form.add_role" in self.request.params:

            if not can_edit_role:
                raise HTTPForbidden()

            user = User.by_login(self.session, self.request.params["login"])
            if user and user.has_permission("upload_releasefile"):
                if self.request.params["role"] == "owner":
                    if user.login not in owners:
                        package.owners.append(user)
                else:
                    maintainers = [usr.login for usr in package.owners]
                    if user.login not in maintainers:
                        package.maintainers.append(user)
                self.session.add(package)

        if "form.remove_maintainer" in self.request.params:
            if not can_edit_role:
                raise HTTPForbidden()

            user = User.by_login(self.session, self.request.params["login"])
            if user:
                maintainers = dict((usr.login, usr) for usr in package.maintainers)
                if user.login in maintainers:
                    package.maintainers.remove(maintainers[user.login])
                    self.session.add(package)

        if "form.remove_owner" in self.request.params:
            if not can_edit_role:
                raise HTTPForbidden()

            user = User.by_login(self.session, self.request.params["login"])
            if user:
                if user.login in owners:
                    package.owners.remove(owners[user.login])
                    self.session.add(package)

        if "release_version" in self.request.matchdict:
            release = Release.by_version(self.session, package.name, self.request.matchdict["release_version"])
        else:
            release = package.sorted_releases[0]

        return {u"package": package, u"release": release, u"can_edit_role": can_edit_role}
开发者ID:jpcw,项目名称:pyshop,代码行数:56,代码来源:package.py


示例4: authenticated_userid

    def authenticated_userid(self, request):

        auth = request.environ.get('HTTP_AUTHORIZATION')
        try:
            authmeth, auth = auth.split(' ', 1)
        except AttributeError as ValueError:  # not enough values to unpack
            return None

        if authmeth.lower() != 'basic':
            return None

        try:
            # Python 3's string is already unicode
            auth = auth.strip().decode('base64')
            if sys.version_info[0] == 2:
                auth = unicode(auth)
        except binascii.Error:  # can't decode
            return None
        try:
            login, password = auth.split(':', 1)
        except ValueError:  # not enough values to unpack
            return None

        if User.by_credentials(DBSession(), login, password):
            return login

        return None
开发者ID:vickyi,项目名称:pyshop,代码行数:27,代码来源:authentication.py


示例5: test_update_post_ok

    def test_update_post_ok(self):
        from pyshop.models import User
        from pyshop.views.user import Edit

        view = Edit(
            self.create_request(
                {
                    "form.submitted": u"1",
                    "user.login": u"root",
                    "user.firstname": u"Admin",
                    "user.lastname": u"Istrator",
                }
            )
        )()
        self.assertIsRedirect(view)
        self.session.flush()
        admin = User.by_credentials(self.session, u"root", u"changeme")
        self.assertIsInstance(admin, User)
        self.assertEqual(admin.login, u"root")
        self.assertEqual(admin.firstname, u"Admin")
        self.assertEqual(admin.lastname, u"Istrator")
        admin.login = u"admin"
        admin.password = u"changeme"
        admin.firstname = None
        admin.lastname = None
        self.session.add(admin)
开发者ID:vickyi,项目名称:pyshop,代码行数:26,代码来源:test_user.py


示例6: _create_release

    def _create_release(self, package, data):

        release = Release(package=package,
                          summary=data.get('summary'),
                          version=data.get('version'),
                          stable_version=data.get('stable_version'),
                          home_page=data.get('home_page'),
                          license=data.get('license'),
                          description=data.get('description'),
                          keywords=data.get('keywords'),
                          platform=data.get('platform'),
                          download_url=data.get('download_url'),
                          bugtrack_url=data.get('bugtrack_url'),
                          docs_url=data.get('docs_url'),
                          )
        if data.get('author'):
            author = User.by_login(self.session, data['author'], local=False)
            if not author:
                author = User(login=data['author'],
                              local=False,
                              email=data.get('author_email'))
                self.session.add(author)
            release.author = author
        self.session.flush()
        if data.get('maintainer'):
            maintainer = User.by_login(self.session, data['maintainer'],
                                       local=False)
            if not maintainer:
                maintainer = User(login=data['maintainer'],
                                  local=False,
                                  email=data.get('maintainer_email'))
                self.session.add(maintainer)
            release.maintainer = maintainer
        self.session.flush()

        for name in data.get('classifiers', []):
            classifier = Classifier.by_name(self.session, name)

            while classifier:
                release.classifiers.append(classifier)
                if classifier not in package.classifiers:
                    package.classifiers.append(classifier)
                classifier = classifier.parent

        self.session.flush()
        return release
开发者ID:disko,项目名称:pyshop,代码行数:46,代码来源:simple.py


示例7: test_post_delete_ok

 def test_post_delete_ok(self):
     from pyshop.views.account import Delete
     from pyshop.models import User
     view = Delete(self.create_request({'form.submitted': '1',
                                        },
                                       matchdict={'user_id': self.account_id
                                                  },))()
     self.assertIsRedirect(view)
     account = User.by_id(self.session, self.account_id)
     self.assertIsNone(account)
     self.account_todelete = []
开发者ID:vickyi,项目名称:pyshop,代码行数:11,代码来源:test_account.py


示例8: test_change_password_post_ok

 def test_change_password_post_ok(self):
     from pyshop.models import User
     from pyshop.views.user import ChangePassword as ChangePwd
     view = ChangePwd(self.create_request({'form.submitted': u'1',
                                           'current_password': u'changeme',
                                           'user.password': u'newpassw',
                                           'confirm_password': u'newpassw',
                                           }))()
     admin = User.by_credentials(self.session, u'admin', u'newpassw')
     self.assertIsInstance(admin, User)
     admin.password = u'changeme'
     self.session.add(admin)
开发者ID:DeaconDesperado,项目名称:pyshop,代码行数:12,代码来源:test_user.py


示例9: authbasic

def authbasic(request):
    """
    Authentification basic, Upload pyshop repository access
    """
    if len(request.environ.get('HTTP_AUTHORIZATION','')) > 0:
        auth = request.environ.get('HTTP_AUTHORIZATION')
        scheme, data = auth.split(None, 1)
        assert scheme.lower() == 'basic'
        data = base64.b64decode(data)
        if not isinstance(data, unicode):
            data = data.decode('utf-8')
        username, password = data.split(':', 1)
        if User.by_ldap_credentials(DBSession(), username, password, request.registry.settings):
            return HTTPFound(location=request.url)
        if User.by_credentials(DBSession(), username, password):
            return HTTPFound(location=request.url)
    return Response(status=401,
                    headerlist=[(b'WWW-Authenticate',
                                 b'Basic realm="pyshop repository access"'
                                 )],
                    )
开发者ID:DeaconDesperado,项目名称:pyshop,代码行数:21,代码来源:credentials.py


示例10: test_change_password_post_ko_unchanged

 def test_change_password_post_ko_unchanged(self):
     from pyshop.models import User
     from pyshop.views.user import ChangePassword as ChangePwd
     view = ChangePwd(self.create_request({'form.submitted': u'1',
                                           'current_password': u'changeme',
                                           'user.password': u'changeme',
                                           'confirm_password': u'changeme',
                                           }))()
     self.assertEqual(view['errors'],
                      [u'password is inchanged'])
     admin = User.by_credentials(self.session, u'admin', u'changeme')
     self.assertIsInstance(admin, User)
开发者ID:DeaconDesperado,项目名称:pyshop,代码行数:12,代码来源:test_user.py


示例11: test_change_password_post_ko_not_matched

 def test_change_password_post_ko_not_matched(self):
     from pyshop.models import User
     from pyshop.views.user import ChangePassword as ChangePwd
     view = ChangePwd(self.create_request({'form.submitted': u'1',
                                           'current_password': u'CHANGEME',
                                           'user.password': u'newpassw',
                                           'confirm_password': u'NEWPASSW',
                                           }))()
     self.assertEqual(view['errors'],
                      [u'current password is not correct',
                       u'passwords do not match'])
     admin = User.by_credentials(self.session, u'admin', u'changeme')
     self.assertIsInstance(admin, User)
开发者ID:DeaconDesperado,项目名称:pyshop,代码行数:13,代码来源:test_user.py


示例12: validate

    def validate(self, model, errors):
        r = self.request

        if not User.by_credentials(self.session, model.login,
                                   r.params['current_password']):
            errors.append(_(u'current password is not correct'))
        elif r.params['user.password'] == r.params['current_password']:
            errors.append(_(u'password is inchanged'))

        if r.params['user.password'] != r.params['confirm_password']:
            errors.append(_(u'passwords do not match'))

        return len(errors) == 0
开发者ID:DeaconDesperado,项目名称:pyshop,代码行数:13,代码来源:user.py


示例13: test_post_create_ok

 def test_post_create_ok(self):
     from pyshop.views.account import Create
     from pyshop.models import User, Group
     view = Create(self.create_request({'form.submitted': u'1',
                                        'user.login': u'dummy_new',
                                        'user.password': u'secret',
                                        'user.firstname': u'',
                                        'user.lastname': u'',
                                        'user.email': u'[email protected]',
                                        'confirm_password': u'secret',
                                        'groups': [u'1', u'2']
                                        }))()
     self.assertIsRedirect(view)
     self.account_todelete.append(User.by_login(self.session,
                                                u'dummy_new').id)
开发者ID:vickyi,项目名称:pyshop,代码行数:15,代码来源:test_account.py


示例14: authbasic

def authbasic(request):
    """
    Authentification basic, Upload pyshop repository access
    """
    if len(request.environ.get('HTTP_AUTHORIZATION','')) > 0:
        auth = request.environ.get('HTTP_AUTHORIZATION')
        scheme, data = auth.split(None, 1)
        assert scheme.lower() == 'basic'
        username, password = data.decode('base64').split(':', 1)
        if User.by_credentials(DBSession(), username, password):
            return HTTPFound(location=request.url)
    return Response(status=401,
                    headerlist=[('WWW-Authenticate',
                                 ('Basic realm="%s"' %
                                 _('pyshop repository access')).encode('utf-8')
                                 )],
                    )
开发者ID:vickyi,项目名称:pyshop,代码行数:17,代码来源:credentials.py


示例15: test_change_password_post_ko_unchanged

    def test_change_password_post_ko_unchanged(self):
        from pyshop.models import User
        from pyshop.views.user import ChangePassword as ChangePwd

        view = ChangePwd(
            self.create_request(
                {
                    "form.submitted": u"1",
                    "current_password": u"changeme",
                    "user.password": u"changeme",
                    "confirm_password": u"changeme",
                }
            )
        )()
        self.assertEqual(view["errors"], [u"password is inchanged"])
        admin = User.by_credentials(self.session, u"admin", u"changeme")
        self.assertIsInstance(admin, User)
开发者ID:vickyi,项目名称:pyshop,代码行数:17,代码来源:test_user.py


示例16: test_change_password_post_ko_not_matched

    def test_change_password_post_ko_not_matched(self):
        from pyshop.models import User
        from pyshop.views.user import ChangePassword as ChangePwd

        view = ChangePwd(
            self.create_request(
                {
                    "form.submitted": u"1",
                    "current_password": u"CHANGEME",
                    "user.password": u"newpassw",
                    "confirm_password": u"NEWPASSW",
                }
            )
        )()
        self.assertEqual(view["errors"], [u"current password is not correct", u"passwords do not match"])
        admin = User.by_credentials(self.session, u"admin", u"changeme")
        self.assertIsInstance(admin, User)
开发者ID:vickyi,项目名称:pyshop,代码行数:17,代码来源:test_user.py


示例17: test_post_edit_ok

 def test_post_edit_ok(self):
     from pyshop.views.account import Edit
     from pyshop.models import User, Group
     view = Edit(self.create_request({'form.submitted': '1',
                                      'user.login': u'dummy_edited',
                                      'user.firstname': u'',
                                      'user.lastname': u'',
                                      'user.email': u'[email protected]',
                                      'groups': [u'1']
                                      },
                                     matchdict={'user_id': self.account_id
                                                }))()
     self.assertIsRedirect(view)
     self.session.flush()
     user = User.by_id(self.session, self.account_id)
     self.assertEqual(user.login, u'dummy_edited')
     self.assertEqual([g.id for g in user.groups], [1])
开发者ID:vickyi,项目名称:pyshop,代码行数:17,代码来源:test_account.py


示例18: test_change_password_post_ok

    def test_change_password_post_ok(self):
        from pyshop.models import User
        from pyshop.views.user import ChangePassword as ChangePwd

        view = ChangePwd(
            self.create_request(
                {
                    "form.submitted": u"1",
                    "current_password": u"changeme",
                    "user.password": u"newpassw",
                    "confirm_password": u"newpassw",
                }
            )
        )()
        admin = User.by_credentials(self.session, u"admin", u"newpassw")
        self.assertIsInstance(admin, User)
        admin.password = u"changeme"
        self.session.add(admin)
开发者ID:vickyi,项目名称:pyshop,代码行数:18,代码来源:test_user.py


示例19: test_update_post_ok

 def test_update_post_ok(self):
     from pyshop.models import User
     from pyshop.views.user import Edit
     view = Edit(self.create_request({'form.submitted': u'1',
                                      'user.login': u'root',
                                      'user.firstname': u'Admin',
                                      'user.lastname': u'Istrator',
                                      }))()
     self.assertIsRedirect(view)
     self.session.flush()
     admin = User.by_credentials(self.session, u'root', u'changeme')
     self.assertIsInstance(admin, User)
     self.assertEqual(admin.login, u'root')
     self.assertEqual(admin.firstname, u'Admin')
     self.assertEqual(admin.lastname, u'Istrator')
     admin.login = u'admin'
     admin.password = u'changeme'
     admin.firstname = None
     admin.lastname = None
     self.session.add(admin)
开发者ID:DeaconDesperado,项目名称:pyshop,代码行数:20,代码来源:test_user.py


示例20: render

    def render(self):

        api = pypi.proxy
        settings = self.request.registry.settings
        sanitize = asbool(settings['pyshop.mirror.sanitize'])

        package_name = self.request.matchdict['package_name']
        pkg = Package.by_name(self.session, package_name)
        refresh = True

        if pkg:
            if pkg.local:
                refresh = False
            else:
                if pkg.update_at:
                    td = datetime.now() - pkg.update_at
                    # refresh if the package has not been update today
                    # XXX should be configurable
                    refresh = td.days > 0

        if refresh:
            pypi_versions = api.package_releases(package_name, True)
            # XXX package_releases is case sensitive
            # but dependancies declaration not...
            if not pypi_versions:
                search_result = api.search({'name': package_name}, True)
                search_count = len(search_result)
                search_result = [p for p in search_result
                                 if p['name'].lower() == package_name
                                 or p['name'].lower().replace('-', '_') == package_name]
                log.debug('Found {sc}, matched {mc}'.format(sc=search_count, mc=len(search_result)))

                if search_result:
                    package_name = search_result[0]['name']
                    pypi_versions = api.package_releases(package_name, True)
        else:
            pypi_versions = []

        if not pkg:
            if not pypi_versions:
                log.info('package %s has no versions' % package_name)
                return {'package': None,
                        'package_name': package_name}

            if sanitize:
                re_sanitize = re.compile(settings['pyshop.mirror.'
                                                  'sanitize.regex'])
                pypi_versions = [v for v in pypi_versions
                                 if re_sanitize.match(v)]

            # mirror the package now
            log.info('mirror package %s now' % package_name)
            pkg = Package(name=package_name, local=False)
            roles = api.package_roles(package_name)
            for role, login in roles:
                login = login.decode('utf-8')  # XMLRPC should return utf-8
                user = User.by_login(self.session, login, local=False)
                if not user:
                    user = User(login=login, local=False)
                    self.session.add(user)
                if role == 'Owner':
                    pkg.owners.append(user)
                elif role == 'Maintainer':
                    pkg.maintainers.append(user)

        self.session.flush()

        refresh = True
        if not pkg.local and refresh:
            pkg_versions = pkg.versions
            for version in pypi_versions:
                if version not in pkg_versions:
                    release_data = api.release_data(package_name, version)
                    release = self._create_release(pkg, release_data)

                    release_files = api.release_urls(package_name, version)

                    for data in release_files:
                        filename = data['filename'].decode('utf-8')
                        rf = ReleaseFile.by_filename(self.session, release,
                                                     filename)
                        if not rf:
                            rf = self._create_release_file(release, data)

        pkg.update_at = func.now()
        self.session.add(pkg)
        log.info('package %s mirrored' % package_name)
        return {'package': pkg}
开发者ID:vickyi,项目名称:pyshop,代码行数:88,代码来源:simple.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python pyshorteners.Shortener类代码示例发布时间:2022-05-26
下一篇:
Python models.Release类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap