Пример #1
0
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')
Пример #2
0
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)       
Пример #3
0
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')
Пример #4
0
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')
Пример #5
0
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
Пример #6
0
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')
Пример #7
0
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')
Пример #8
0
                        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