def userfeed_action(request, username, id): try: userfeed = UserFeed.objects.filter(feed__id__exact=id, user__username__iexact=username)[0] except: return HttpResponseServerError('Invalid UserFeed') if request.REQUEST.has_key('a'): action = request.REQUEST['a'].strip() if action == 'items' and request.POST.has_key('numitems'): #make sure the user requesting is the owner if username.lower() != request.user.username.lower(): return HttpResponseServerError('Invalid user') numitems = max(int(request.POST.get('numitems')), 0) userfeed.num_items = numitems userfeed.save() return HttpResponse('') elif action == 'entries': context = RequestContext(request) feed = userfeed.feed context['feed_id'] = feed.id context['json'] = True feedobj = {'description':feed.subtitle, 'channel_link':feed.channel_link, 'icon_url':feed.icon_url, 'title':feed.title, 'id':feed.id} obj = {'feed': feedobj} entrylist = [] entries = userfeed.get_entries() for i, entry in zip(range(len(entries)), entries): context['entry'] = entry context['index'] = i entrylist.append(loader.render_to_string('feed_entry.html', context)) obj['entries'] = entrylist obj['suggest_tags'] = feed.get_suggested_tags() return HttpResponse(djangojson.write(obj), 'text/javascript') return HttpResponseServerError('No valid action requested')
def get_feed(request, id): feed = get_object_or_404(Feed, id=id) context = RequestContext(request) context['feed_id'] = id context['json'] = True if request.GET.has_key('json'): feedobj = {'description':feed.subtitle, 'channel_link':feed.channel_link, 'icon_url':feed.icon_url, 'title':feed.title, 'id':feed.id} obj = {'feed': feedobj} entrylist = [] entries = feed.get_entries() for i, entry in zip(range(len(entries)), entries): context['entry'] = entry context['index'] = i entrylist.append(loader.render_to_string('feed_entry.html', context)) obj['entries'] = entrylist obj['suggest_tags'] = feed.get_suggested_tags() return HttpResponse(djangojson.write(obj), 'text/javascript') else: data = feed.get_xml_data() if data is not None: response = HttpResponse(mimetype='text/xml') response['Content-Type'] = 'text/xml' response.write(data) return response else: return HttpResponseRedirect(feed.xml_url)
def login(request): retvals = {} user = None context = RequestContext(request) if 'next' in request.GET: context['next'] = request.GET['next'] if request.POST.has_key('username') and request.POST.has_key('password'): username = request.POST.get('username').strip() password = request.POST.get('password') user = authenticate(username=username, password=password) if user is not None: auth_login(request, user) user.last_login = datetime.datetime.now() user.save() # Redirect to a success page. else: retvals['bad_user'] = '******' elif 'lb' in request.GET: return render_to_response('login.html', context) else: #have an actual login page return render_to_response('index.html', context) #check to see if somebody else was already logged in. if so, we need to log them out if not user: logout(request) else: retvals['ok'] = True if 'next' in request.POST: retvals['next'] = urllib.unquote(request.POST['next']) return HttpResponse(djangojson.write(retvals), 'text/javascript')
def get_user_tags(request, username): page_user = get_user_or_404(username) if page_user != request.user: only_public = True else: only_public = False tags = user_utils.get_tags(page_user, only_public=only_public) return HttpResponse(djangojson.write([(tag.tag, tag.count) for tag in tags]), 'text/javascript')
def tag_feed(request): if request.POST.has_key('id'): id = request.POST['id'].strip() try: userfeed = UserFeed.objects.get(id=id, user__id__exact=request.user.id) except: raise HttpResponseServerError() tags = [] if 'tags' in request.POST: tags = request.POST['tags'].strip().split() feed_accomplice.tag_feed(userfeed, tagnames=tags) return HttpResponse(djangojson.write(userfeed.get_tags_string()), 'text/javascript') raise Http404
def new_captcha(request): user = request.user if not request.user.is_authenticated(): raise Http404 from westom.settings import SITE_ID from Captcha.Visual import Tests import Captcha import tempfile name = Tests.__all__[0] fact = Captcha.PersistentFactory(tempfile.gettempdir() + "/pycaptcha_%d" % SITE_ID) test = fact.new(getattr(Tests, name)) vals = {'captcha_image': '/captcha/i/?id=%s' % test.id, 'captcha_id' : test.id} return HttpResponse(djangojson.write(vals), 'text/javascript')
def get_user_buddies(request, username): #TODO only select the username to make it quicker user = get_object_or_404(User, username__iexact=username) buddies = user_utils.get_user_buddies(user) return HttpResponse(djangojson.write([buddy.username for buddy in buddies]), 'text/javascript')
userfeed = feed_accomplice.add_userfeed(user, feed, ['fn:home']) feed_accomplice.add_permanent_feeds(user) if request.has_key('next'): retvals['next'] = urllib.unquote(request['next']) except Exception, e: logging.error(e) retvals['bad_user'] = '******' else: retvals['bad_user'] = '******' else: raise Http404 return HttpResponse(djangojson.write(retvals), 'text/javascript') def get_user_page(request, username, tags=None): """ Returns a user page """ context = RequestContext(request) page_user = get_object_or_404(User, username__iexact=username.strip()) context['page_user'] = page_user if(request.user == page_user): only_public=None else: only_public=True