Add recents generation to index
This commit is contained in:
		| @@ -69,7 +69,10 @@ class Archive(Index): | ||||
|  | ||||
|         article_nodes = dom.getElementsByTagNameNS(self.URI, "articles") | ||||
|         if not article_nodes is None: | ||||
|             self.articles_per_page = int(article_nodes[0].getAttribute("limit")) | ||||
|             if article_nodes[0].hasAttribute("limit"): | ||||
|                 self.articles_per_page = int(article_nodes[0].getAttribute("limit")) | ||||
|             else: | ||||
|                 self.articles_per_page = 5 | ||||
|         else: | ||||
|             self.addError('No tag dyn:articles found') | ||||
|  | ||||
| @@ -81,15 +84,15 @@ class Archive(Index): | ||||
|         my_articles = [] | ||||
|         now = datetime.now() | ||||
|         for article in articles: | ||||
|             # if self.cur_year == now.year: | ||||
|             #     break | ||||
|             if self.cur_year == now.year: | ||||
|                 break | ||||
|  | ||||
|             if article.creation_date.year != self.cur_year: | ||||
|                 self.createArchives(src, output, dom, hooks, my_articles) | ||||
|                 self.cur_year = article.creation_date.year | ||||
|                 #print 'New year ' + str(self.cur_year) | ||||
|                 # if self.cur_year == now.year: | ||||
|                 #     continue | ||||
|                 if self.cur_year == now.year: | ||||
|                     continue | ||||
|                 my_articles = [] | ||||
|             else: | ||||
|                 my_articles.append(article) | ||||
|   | ||||
| @@ -11,8 +11,10 @@ class Article(DynastieGenerator): | ||||
|         values = {} | ||||
|         values['title'] = article.title | ||||
|         values['author'] = article.author.first_name | ||||
|         values['date'] = article.creation_date.strftime("%d/%m/%Y") | ||||
|         if article.creation_date != None: | ||||
|             values['date'] = article.creation_date.strftime("%d/%m/%Y") | ||||
|         values['content'] = '' | ||||
|         print article.title | ||||
|  | ||||
|         self.simpleTransform(values, dom, article_elem, root) | ||||
|  | ||||
|   | ||||
| @@ -41,7 +41,10 @@ class Category(Index): | ||||
|  | ||||
|         article_nodes = dom.getElementsByTagNameNS(self.URI, "articles") | ||||
|         if not article_nodes is None: | ||||
|             self.articles_per_page = int(article_nodes[0].getAttribute("limit")) | ||||
|             if article_nodes[0].hasAttribute("limit"): | ||||
|                 self.articles_per_page = int(article_nodes[0].getAttribute("limit")) | ||||
|             else: | ||||
|                 self.articles_per_page = 5 | ||||
|         else: | ||||
|             self.addError('No tag dyn:articles found') | ||||
|  | ||||
|   | ||||
| @@ -71,11 +71,32 @@ class Index(DynastieGenerator): | ||||
|                 break | ||||
|         root.replaceChild(articles_elem, node) | ||||
|  | ||||
|     def createRecents(self, articles, dom, root, node): | ||||
|         if node.hasAttribute("limit"): | ||||
|             nb_recents = int(node.getAttribute("limit")) | ||||
|         else: | ||||
|             nb_recents = 5 | ||||
|         list_elem = dom.createElement('ul') | ||||
|         for i in range(0, nb_recents): | ||||
|             article_elem = dom.createElement('li') | ||||
|             if self.cur_article+i < len(articles): | ||||
|                 link_elem = dom.createElement('a') | ||||
|                 link_elem.setAttribute('href', articles[self.cur_article+i].getPath()) | ||||
|                 text_elem = dom.createTextNode(articles[self.cur_article+i].title) | ||||
|                 link_elem.appendChild(text_elem) | ||||
|                 article_elem.appendChild(link_elem) | ||||
|             else: | ||||
|                 break | ||||
|             list_elem.appendChild(article_elem) | ||||
|  | ||||
|         root.replaceChild(list_elem, node) | ||||
|  | ||||
|     def generate(self, blog, src, output): | ||||
|         from dynastie.models import Article, Blog | ||||
|  | ||||
|         hooks = {'articles' : self.createArticles, | ||||
|                  'navigation' : self.createNavigation} | ||||
|                  'navigation' : self.createNavigation, | ||||
|                  'recents' : self.createRecents} | ||||
|  | ||||
|         if not os.path.exists(src + '/_index.html'): | ||||
|             self.addError('No _index.html found, exiting') | ||||
| @@ -90,7 +111,10 @@ class Index(DynastieGenerator): | ||||
|         article_nodes = dom.getElementsByTagNameNS(self.URI, "articles") | ||||
|  | ||||
|         if not article_nodes is None: | ||||
|             self.articles_per_page = int(article_nodes[0].getAttribute("limit")) | ||||
|             if article_nodes[0].hasAttribute("limit"): | ||||
|                 self.articles_per_page = int(article_nodes[0].getAttribute("limit")) | ||||
|             else: | ||||
|                 self.articles_per_page = 5 | ||||
|         else: | ||||
|             self.addError('No tag dyn:articles found') | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user