Exemple #1
0
def latest_closed_reckonings_feed(request):
    try:
        syndicationFeed = Rss201rev2Feed(title = "The Reckoner! Finished Reckonings Feed!",
                                         link = "".join((settings.SITE_ROOT,"/finished-reckonings",)),
                                         description = "The freshest finished reckonings on The Reckoner! Check out the results!",
                                         subtitle = "The freshest finished reckonings on The Reckoner! Check out the results!",
                                         feed_url = "".join((settings.SITE_ROOT,"/feed/finished-reckonings",)))
        
        reckoning_response = client_get_closed_reckonings(sort_by="closingDate", ascending=False,
                                                            page=0, size=15,
                                                            session_id=request.user.session_id)
        
        if (reckoning_response.status.success):
            if (reckoning_response.reckonings):
                for reckoning in reckoning_response.reckonings:
                    syndicationFeed.add_item(title=reckoning.question,
                                             link="".join((settings.SITE_ROOT,reckoning.getURL(),)),
                                             description=reckoning.description,
                                             pubdate=reckoning.closing_date,
                                             author_name="The Reckoner!",
                                             author_link=settings.SITE_ROOT)
                
                return HttpResponse(syndicationFeed.writeString("utf-8"),  mimetype="text/xml")
        else:
            logger.error("Error from getting Closed Reckonings RSS feed: " + reckoning_response.status.message)
    
    except Exception:      
        logger.error("Exception when showing and processing Closed Reckoning RSS Feed:") 
        logger.error(traceback.print_exc(8))
        raise Exception      

    return HttpResponse("",  mimetype="text/xml")
Exemple #2
0
def home_page(request):
    errors={}
    
    try:    
        if request.method == 'POST':
            if 'postvote' in request.POST:
                if (request.user.has_perm('VOTE')):
                    if ('answer' in request.POST):
                        errors.update(post_reckoning_vote(request))
        
        reckoning = None
        user_vote = None
        highlighted_response = client_get_reckonings(sort_by="postingDate",
                                                     page="0", size="1",
                                                     highlighted=True, 
                                                     session_id=request.user.session_id)
        if (highlighted_response.reckonings):
            reckoning = computeReckoningAnswerPercentages(highlighted_response.reckonings[0])
            user_vote = get_user_reckoning_vote(request, reckoning.id)

        recent_reckoning_response = client_get_open_reckonings(page="0", size="6", 
                                                               session_id=request.user.session_id)
        
        popular_reckoning_response = client_get_open_reckonings(sort_by="views",
                                                               page="0", size="4", 
                                                               session_id=request.user.session_id)        
        
        last_call_response = client_get_open_reckonings(sort_by="closingDate", ascending=True,
                                                        page="0", size="4", 
                                                        session_id=request.user.session_id)
        
        recent_finished_response = client_get_closed_reckonings(sort_by="closingDate", ascending=False,
                                                                page="0", size="4", 
                                                                session_id=request.user.session_id)
        
        c = RequestContext(request, {'reckoning' : reckoning,
                                     'popular_reckonings' : popular_reckoning_response.reckonings,
                                     'recent_reckonings' : recent_reckoning_response.reckonings,
                                     'last_call_reckonings' : last_call_response.reckonings,
                                     'finished_reckonings' : recent_finished_response.reckonings,
                                     'user_vote' : user_vote,
                                     'errors' : errors})
        
        return render_to_response('index.html', c)
            
    except Exception:      
        logger.error("Exception when rending home page:") 
        logger.error(traceback.print_exc(8))
        raise Exception
Exemple #3
0
def createClosedReckoningSitemap(request):
    '''
    Function responsible for returning Closed Reckoning URLs to be included in The Reckoner sitemap, as
    used for search engine traversal.
    
    Return value is a SiteMap object.
    '''    
    siteMapUrlList = []
        
    # Closed Reckonings
    closed_reckonings_response = client_get_closed_reckonings(sort_by="postingDate", ascending=False, size=50000,
                                                          session_id=request.user.session_id)
    
    if (closed_reckonings_response.status.success):
        for reckoning in closed_reckonings_response.reckonings:
            siteMapUrlList.append(SiteMapUrl(loc="".join((settings.SITE_ROOT,reckoning.getURL(),)), 
                                             changefreq='monthly',
                                             priority='0.6'))
            
    return SiteMap(urls = siteMapUrlList)