def blog(request, id): bloger = Blog.get(id) if not bloger: return render_to_response('article_list.html', {'article_list':[]}) logging.info('Loading bloger : %s' % bloger.author) blog = BlogParser.BlogParser(bloger.url) blog.process() articles = [] url = blog.getArticleListUrl() while True: logging.info('Loading article list : %s' % url) articleList = ArticleListParser.ArticleListParser(url) articleList.process() articles.extend(articleList.articleList) url = articleList.nextPage() if not url: break else: if Article.all().filter('url =', articles[-1]['url']).get(): break list = [] for article in articles: item = Article.all().filter('url =', article['url']).get() if not item: item = Article(blog=bloger,url=article['url'],title=article['title']) item.put() # Add the task to the default queue. taskqueue.add(url='/article/%s' % item.key()) list.append((item.title,item.key())) # Mark this update time bloger.put() return render_to_response('article_list.html', {'article_list':list})