def generate_feed(self, username, user_id, feed_type, feed_source): # feed_type: 0: rss, 1: atom # feed_source: 0: 즐겨찾기, 1: 새글읽기 if web.ctx.query == '': qs = dict() feed_size = config.feed_size else: qs = parse_qs(web.ctx.query[1:]) feed_size = int(qs['size'][0]) article = None date = datetime.today() feed_title = '' feed_user_address = 'http://noah.kaist.ac.kr/+u/%s' % username board_path = '' feed_self_address = '' if feed_source == 0: articles = user.get_favorite_board_feed(user_id, feed_size) feed_title = u'%s의 즐겨찾는 보드 피드' % username board_path = '+u/%s/+favorite_%s' % (username, '%s') elif feed_source == 1: articles = user.get_unreaded_articles(user_id, feed_size) feed_title = u'%s의 구독하는 보드 피드' % username board_path = '+u/%s/+subscription_%s' % (username, '%s') if feed_type == 0: web.header('Content-Type', 'application/rss+xml') board_path = board_path % ('rss') feed_self_address = 'http://noah.kaist.ac.kr/%s' % board_path return render['default'].rss(today = date, articles = articles, board_path=board_path, board_desc = feed_title, link_address = feed_user_address) elif feed_type == 1: web.header('Content-Type', 'application/atom+xml') board_path = board_path % ('atom') feed_self_address = 'http://noah.kaist.ac.kr/%s' % board_path return render['default'].atom(today = date, articles = articles, board_path = board_path, board_desc = feed_title, self_address = feed_self_address, head_address = feed_user_address) else: return ''
def new_article_get(self, current_uid = -1): user.update_new_article_hit(current_uid) return util.render().new_article(articles = user.get_unreaded_articles(current_uid), uid = current_uid, title = _('New Article'), board_desc = _('New Article'))