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


Python models.User类代码示例

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


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

示例1: delete_email

def delete_email(request, username, email):
    
    # the ID we are to delete
    auth_id = 'email:%s' % email
    
    user = User.get_by_auth_id('own:%s' % username)
    e_user = User.get_by_auth_id(auth_id)

    if user is None or e_user is None:
        raise Http404("User not found")
    
    if user != request.user or user != e_user:
        http403 = HttpResponse("This ain't you!")
        http403.status = 403
        return http403
    
    if request.method == "POST":
        # delete the email from the user
        user.auth_ids.remove(auth_id)
        user.unique_model.delete_multi(['User.auth_id:%s' % auth_id])
        user.put()
        return HttpResponseRedirect(
            reverse('member-profile', kwargs={'username':request.user.username})
        )
        
    

    return render_to_response('people/delete_email.html', 
        {'email': email}, 
        context_instance=RequestContext(request))
开发者ID:kmooney,项目名称:julython.org,代码行数:30,代码来源:views.py

示例2: post

 def post(self):
     """Create a project from the api.
     
     Example::
     
         {
             "url": "http://github.com/defunkt/github",
             "name": "github",
             "description": "You're lookin' at it.",
             "watchers": 5,
             "forks": 2,
             "private": 1,
             "email": "[email protected]",
             "account": "twitter_name",
         },
     """
     form = self.parse_form()
     if not form.is_valid():
         return self.respond_json(form.errors, status_code=400)
     
     # Lookup the user by email or account
     email = form.cleaned_data.pop('email', None)
     account = form.cleaned_data.pop('account', None)
     user = None
     if email:
         user = User.get_by_auth_id('email:%s' % email)
     elif account:
         user = User.get_by_auth_id('twitter:%s' % account)
     
     created = False
     project_url = form.cleaned_data['url']
     project_key = Project.make_key(project_url)
     project = project_key.get()
     
     if project is None:
         created = True
         project = Project(key=project_key, **form.cleaned_data)
         project.put()
     
     @ndb.transactional    
     def txn():
         count = getattr(user, 'total', 0)
         projects = set(getattr(user, 'projects', []))
         user.total = count + 10
         user.projects = list(projects.add(project_url))
         user.put()
         return user
     
     if created and user:
         txn()
     
     self.respond_json({'project': self.serialize(project)}, status_code=201 if created else 200)
开发者ID:digideskio,项目名称:julython.org,代码行数:52,代码来源:api.py

示例3: edit_address

def edit_address(request, username, template_name='people/edit_address.html'):
    from forms import EditAddressForm

    user = User.get_by_auth_id('own:%s' % username)

    if user == None:
        raise Http404("User not found")

    if user.key != request.user.key:
        http403 = HttpResponse("This ain't you!")
        http403.status = 403
        return http403

    form = EditAddressForm(request.POST or None, user=user)

    if form.is_valid():
        for key, value in form.cleaned_data.iteritems():
            setattr(user,key,value)
            user.put()
        return HttpResponseRedirect(
            reverse('member-profile',
                kwargs={'username':request.user.username}
            )
        )
    

    return render_to_response(template_name, 
        {'form':form},
        context_instance=RequestContext(request))
开发者ID:kmooney,项目名称:julython.org,代码行数:29,代码来源:views.py

示例4: edit_profile

def edit_profile(request, username, template_name='people/edit.html'):
    from forms import EditUserForm
    user = User.get_by_auth_id('twitter:%s' % username)

    if user == None:
        raise Http404("User not found")
    
    if user.key != request.user.key:
        http403 = HttpResponse("This ain't you!")
        http403.status = 403
        return http403
    

    form = EditUserForm(request.POST or None, user=request.user)
    if form.is_valid():
        for key in form.cleaned_data:
            if key == 'email':
                continue
            setattr(user, key, form.cleaned_data.get(key))
        slugify(user.location)
        user.put()
        return HttpResponseRedirect(
            reverse('member-profile', 
                    kwargs={'username':request.user.username}
                   )
        )
        
    

    return render_to_response(template_name, 
        {'form':form}, 
        context_instance=RequestContext(request))
开发者ID:florinmatei,项目名称:julython.org,代码行数:32,代码来源:views.py

示例5: project_details

def project_details(request, slug, template_name='projects/details.html'):
    project_key = ndb.Key('Project', slug)
    project = project_key.get()
    if project is None:
        raise Http404("Project Not Found.")
    
    limit = 100
    cursor = request.GET.get('cursor')
    if cursor:
        cursor = Cursor(urlsafe=cursor)
    
    # TODO: pagination
    user_future = User.query().filter(ndb.GenericProperty('projects') == project.url).fetch_async(100)
    query = Commit.query().filter(Commit.project_slug == slug).order(-Commit.timestamp)
    
    commit_future = query.fetch_page_async(limit, start_cursor=cursor)
    
    commits, next_cursor, more = commit_future.get_result()
    users = user_future.get_result()
    
    if next_cursor is not None:
        next_cursor = next_cursor.urlsafe()
    
    return render_to_response(template_name,
        {'project': project, 'users': users, 'commits': commits,
         'next': next_cursor, 'more': more},
        context_instance=RequestContext(request))
开发者ID:kmooney,项目名称:julython.org,代码行数:27,代码来源:views.py

示例6: test_testing_mode_off_user_points

 def test_testing_mode_off_user_points(self):
     settings.TESTING = False
     user = self.make_user('marcus')
     user.add_auth_id('email:[email protected]')
     self.app.post('/api/v1/bitbucket', self.POST)
     u = User.get_by_auth_id('email:[email protected]')
     total = getattr(u, 'total', None)
     self.assertEqual(total, None)
开发者ID:florinmatei,项目名称:julython.org,代码行数:8,代码来源:test_api.py

示例7: fix_player_counts

def fix_player_counts(auth_id):
    """Fix a single user counts."""
    user = User.get_by_auth_id(auth_id)
    
    ranges = _get_date_ranges()
    
    for start, end in ranges:
        count = Commit.query(ancestor=user.key).filter(Commit.timestamp >= start, Commit.timestamp < end).count(1000)
        Accumulator.add_count('own:%s' % user.username, start, count, reset=True)
开发者ID:ChrisOelmueller,项目名称:julython.org,代码行数:9,代码来源:cron.py

示例8: test_testing_mode_off

 def test_testing_mode_off(self):
     settings.TESTING = False
     user = self.make_user('marcus')
     user.add_auth_id('email:[email protected]')
     self.app.post('/api/v1/bitbucket', self.POST)
     u = User.get_by_auth_id('email:[email protected]')
     p_key = Project.make_key('https://bitbucket.org/marcus/project-x/')
     # project should not be created
     self.assertEqual(p_key.get(), None)
开发者ID:florinmatei,项目名称:julython.org,代码行数:9,代码来源:test_api.py

示例9: user_profile

def user_profile(request, username):
    user = User.get_by_auth_id('own:%s' % username)
    if user == None:
        raise Http404("User not found")

    commits = Commit.query(ancestor=user.key).order(-Commit.timestamp).fetch(100)

    return render_to_response('people/profile.html', 
        {"commits":commits, 'profile':user}, 
        context_instance=RequestContext(request)) 
开发者ID:kmooney,项目名称:julython.org,代码行数:10,代码来源:views.py

示例10: users_by_location

def users_by_location(request, location_slug, 
                      template_name='people/people_list.html'):

    users = User.query(User.location_slug == location_slug)
    users.order(-ndb.GenericProperty('total')).fetch(1000)

    location = Location.get_by_id(location_slug)
    
    return render_to_response(template_name, 
                             {'users':users, 'location': location, 'slug': location_slug}, 
                             context_instance=RequestContext(request)) 
开发者ID:florinmatei,项目名称:julython.org,代码行数:11,代码来源:views.py

示例11: wrapper

        def wrapper(self, *args, **kwargs):
            if login_required:
                if self.auth is None:
                    abort(401)
                
            if registration_required:
                # check to see if the user is registered.
                user = User.get_by_auth_id(self.auth)
                if not user:
                    abort(403)

            return func(self, *args, **kwargs)
开发者ID:digideskio,项目名称:julython.org,代码行数:12,代码来源:api.py

示例12: project_details

def project_details(request, slug, template_name='projects/details.html'):
    project_key = ndb.Key('Project', slug)
    project = project_key.get()
    if project is None:
        raise Http404("Project Not Found.")
    
    # TODO: pagination
    users = User.query().filter(ndb.GenericProperty('projects') == project.url).fetch(1000)
    
    return render_to_response(template_name,
        {'project': project, 'users': users},
        context_instance=RequestContext(request))
开发者ID:florinmatei,项目名称:julython.org,代码行数:12,代码来源:views.py

示例13: fix_team

def fix_team(slug, cursor=None, total=0):
    
    # Don't try to lookup slugs that are the empty string.
    # hint they don't exist!
    if not slug:
        return
    
    team_slug = slug
    team = Team.get_or_insert(team_slug)
    
    projects = set([])
    
    if cursor:
        # we are looping Grab the existing project list so we don't
        # wipe out the earlier runs work
        team_p = getattr(team, 'projects', [])
        projects = set(team_p)
        cursor = Cursor(urlsafe=cursor)
    
    people = User.query().filter(ndb.GenericProperty('team_slug') == team_slug)
    
    # Go through the users in chucks
    models, next_cursor, more = people.fetch_page(100, start_cursor=cursor)
    
    for model in models:
        user_projects = getattr(model, 'projects', [])
        user_total = getattr(model, 'total', 0)
        # Do a little math to figure out how many commits they have
        commits = user_total - (len(user_projects) * 10)
        if commits > 0:
            logging.info('Adding %s to %s', commits, team_slug)
            total += commits
        # Add the users projects to the project set (this filters duplicates)
        projects.update(user_projects)
    
    
    # Run update in a transaction    
    projects = list(projects)
    total = total + (len(projects) * 10)
    @ndb.transactional
    def txn():
        team = Team.get_or_insert(team_slug)
        team.total = total
        team.projects = projects
        team.put()
    
    txn()

    if more:
        # We have more people to loop through!!
        return deferred.defer(fix_team, team_slug, 
            cursor=next_cursor.urlsafe(), total=total)
开发者ID:ChrisOelmueller,项目名称:julython.org,代码行数:52,代码来源:cron.py

示例14: leaderboard

def leaderboard(request, template_name='people/leaderboard.html'):
    limit = 100
    cursor = request.GET.get('cursor')
    if cursor:
        cursor = Cursor(urlsafe=cursor)
    
    query = User.query().order(-ndb.GenericProperty('total'))
    models, next_cursor, more = query.fetch_page(limit, start_cursor=cursor)

    return render_to_response(template_name, 
                             {'next':next_cursor, 'more':more, 
                              'users':models},
                             context_instance=RequestContext(request)) 
开发者ID:gdub,项目名称:julython.org,代码行数:13,代码来源:views.py

示例15: fix_players

def fix_players(cursor=None):
    """Fix all the players"""
    
    if cursor:
        cursor = Cursor(urlsafe=cursor)
        
    query = User.query()
    models, next_cursor, more = query.fetch_page(15, start_cursor=cursor)
    
    for model in models:
        deferred.defer(fix_player_counts, 'own:%s' % model.username)
        
    if more:
        deferred.defer(fix_players, cursor=next_cursor.urlsafe())
开发者ID:ChrisOelmueller,项目名称:julython.org,代码行数:14,代码来源:cron.py


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