def search_posts(request, blog_name): 
    print request.POST['tags']
    try: 
        #Note that a new search resets the post marker
        manager = TumblrBlogManager(request.session['blog_name'])
        #Parse tags received (eventually expand to parse all options 
        # available as part of the form
        tagsString = request.POST['tags']
        tagsList = tagsString.split(',')
        tagsList = [tag.strip().strip('#') for tag in tagsList]

        #Set filter on manager
        manager.setTagFilter(tagsList)

        #Now get posts
        posts = manager.getMorePosts(NUM_POSTS_LOAD)
        parsed_posts = createPostsList(manager, posts)
        context = {
            'blog_name': blog_name, 
            'posts_list': parsed_posts,
        }

        request.session['blog_name'] = manager.blogName
        request.session['post_marker'] = manager.postMarker 
    except Exception as e:
        print "EXCEPTION:", e
        blog_name = None
        context = {}

    return render_to_response('archivefind/blog-content.html', context)
def blog(request, blog_name):
    #Renders a preliminary view for a blog of interest. 
    print "BLOG VIEW"
    try:
        manager = TumblrBlogManager(blog_name)
        posts = manager.getMorePosts(NUM_POSTS_LOAD)

        parsed_posts = createPostsList(manager, posts)
        #Prepare context
        context = {
            'blog_name': blog_name, 
            'posts_list': parsed_posts,
        }

        #Manager object cannot be turned into JSON, so 
        #we have to save manager info to reconstruct it 
        #after each transaction
        request.session['blog_name'] = manager.blogName
        request.session['post_marker'] = manager.postMarker 

    except Exception as e:
        print "Exception", e
        blog_name = None 
        context = {}
    return render(request, 'archivefind/blog.html', context)
def blog_content(request, blog_name): 
    #Attempts to pull more of a blog's content. 
    try:
        manager = TumblrBlogManager(request.session['blog_name'], 
            request.session['post_marker'])
        posts = manager.getMorePosts(NUM_POSTS_LOAD)

        parsed_posts = createPostsList(manager, posts)
        context = {
            'blog_name': blog_name, 
            'posts_list': parsed_posts,
        }
        request.session['blog_name'] = manager.blogName
        request.session['post_marker'] = manager.postMarker 

    except Exception as e:
        print "EXCEPTION:", e
        blog_name = None 
        context = {}
    return render_to_response('archivefind/blog-content.html', context)