def register(request): if request.method == 'POST': form = UserCreationForm(request.POST) if form.is_valid(): form.save() new_user = authenticate(username=form.cleaned_data['username'], password=form.cleaned_data['password1']) login(request, new_user) request.flash.put(message="Congratulations, you've registered!") act = Activity( atom_id='tag:identity,2009:%d' % new_user.pk, subject=new_user, link=reverse('profile', kwargs={'username': new_user.username}), text="%s joined the site" % new_user.username, ) act.save() return HttpResponseRedirect(reverse('identity.views.edit_profile')) else: form = UserCreationForm() return render_to_response( 'registration/register.html', { 'form': form, }, context_instance=RequestContext(request), )
def new_activity(request, token): if request.method == 'GET': success = HttpResponse(request.GET['hub.challenge']) failure = HttpResponseNotFound() topic = request.GET['hub.topic'] subscription_exists = True if ActivitySubscription.objects.filter( feed_uri=topic, token=token).count() > 0 else False mode = request.GET['hub.mode'] log.debug('Got verification request for mode %r on topic %r', mode, topic) if mode == 'subscribe': return success if subscription_exists else failure elif mode == 'unsubscribe': return failure if subscription_exists else success return HttpResponse("Unknown hub mode %r" % mode, status=400, content_type='text/plain') log.debug('Got pushed some feed data to %r!', request.build_absolute_uri()) try: feed = ElementTree.fromstring(request.raw_post_data) entries = feed.findall('{http://www.w3.org/2005/Atom}entry') if entries is None: raise ValueError('No entries in this feed') for entry in entries: act = Activity.from_atom_entry(entry, request) if not act.pk: act.save() except Exception, exc: log.exception(exc) raise