Ejemplo n.º 1
0
    def show_post_by_pid(self, pid):
        rst = RstParser()

        if pid < 1 or pid > len(self.posts):
            self.show_pages()
            return

        self.text += '<h2><a class="permalink" href="/blog/cleanurl/' + str(
            self.posts[pid - 1].cleanurl) + '">'
        self.text += self.posts[pid - 1].title + "</a></h2>\n"
        self.text += "<i>" + self.posts[pid - 1].date + "</i>\n"
        self.text += rst.parse(self.posts[pid - 1].text)
        self.text += """<div class="pages"><ul>"""

        if pid > 1:
            self.text += '<li><a href="/blog/id/1">&lt;&lt;</a></li>'
            self.text += '<li><a href="/blog/id/' + str(pid -
                                                        1) + '">&lt;</a></li>'

        if pid < len(self.posts):
            self.text += '<li><a href="/blog/id/' + str(pid +
                                                        1) + '">&gt;</a></li>'
            self.text += '<li><a href="/blog/id/' + str(len(
                self.posts)) + '">&gt;&gt;</a></li>'

        self.text += '<li><a href="/blog/all">all posts</a></li>'
        self.text += '<li><a href="/blog/rss.xml">rss</a></li>'
        self.text += """</ul></div>"""
Ejemplo n.º 2
0
    def show_rss(self):
        rst = RstParser()
        item_template_string = """
	<item>
		<title>${title}</title>
		<link>${url}</link>
		<guid>${guid}</guid>
		<pubDate>${date}</pubDate>
		<description>
		${text}
		</description>
	</item>
"""
        item_template = Template(item_template_string)
        items = []
        i = 1
        for post in self.posts:
            post_dict = {}
            post_dict['title'] = post.title
            #			post_dict['text'] = rst.parse(post.text).replace("&rdquo;",
            #					"&quot;").replace("&ldquo;", "&quot;")
            post_dict['text'] = post.abstract
            post_dict['date'] = post.date
            post_dict['url'] = CONFIG_DOMAIN + "blog/cleanurl/" + post.cleanurl
            post_dict['guid'] = CONFIG_DOMAIN + "blog/id/" + str(i)
            item_text = item_template.safe_substitute(post_dict)
            items.append(item_text)
            i += 1

        self.text += "\n".join(reversed(items))
Ejemplo n.º 3
0
 def show_post_by_cleanurl(self, url):
     rst = RstParser()
     post = filter(lambda p: url == p.cleanurl, self.posts)
     if not post:
         self.show_pages()
     else:
         self.show_post_by_pid(post[0].pid)
Ejemplo n.º 4
0
Archivo: blog.py Proyecto: Deaddy/DCMS
	def show_pages(self, p=1):
			rst = RstParser()
			i = 0
			first = (p-1)*self.page_limit
			last = p*self.page_limit
			for post in reversed(self.posts):
				if first <= i and i < last:
					self.text += '<h2><a class="permalink" href="/blog/cleanurl/'
					self.text += post.cleanurl + '">' + post.title + '</a></h2>\n'
					self.text += "<i>" + post.date + "</i>\n"
					self.text += rst.parse(post.text)
				else:
					pass
				i += 1
			
			pages = (len(self.posts)+1)/self.page_limit
			self.text += """<div class="pages">Pages:<ul>"""
			if p != 1:
				self.text += '<li><a href="/blog/page/1">&lt;&lt;</a></li>'
				self.text += '<li><a href="/blog/page/'
				self.text += str(p-1)
				self.text += '">&lt;</a></li>'


			for x in range(pages+1)[1:]:
				if x == p:
					self.text += "<li><b>" + str(x) + "</b></li>"
				else:
					self.text += """<li><a href="/blog/page/"""
					self.text += str(x)
					self.text += '">' + str(x) + '</a></li>'

			if p < pages:
				self.text += '<li><a href="/blog/page/'
				self.text += str(p+1)
				self.text += '">&gt;</a></li>'
				self.text += '<li><a href="/blog/page/'
				self.text += str(pages)
				self.text += '">&gt;&gt;</a></li>'

			self.text += '<li><a href="/blog/all">all posts</a></li>'
			self.text += '<li><a href="/blog/rss.xml">rss</a></li>'
			self.text += """</ul></div>"""
Ejemplo n.º 5
0
    def show_pages(self, p=1):
        rst = RstParser()
        i = 0
        first = (p - 1) * self.page_limit
        last = p * self.page_limit
        for post in reversed(self.posts):
            if first <= i and i < last:
                self.text += '<h2><a class="permalink" href="/blog/cleanurl/'
                self.text += post.cleanurl + '">' + post.title + '</a></h2>\n'
                self.text += "<i>" + post.date + "</i>\n"
                self.text += rst.parse(post.text)
            else:
                pass
            i += 1

        pages = (len(self.posts) + 1) / self.page_limit
        self.text += """<div class="pages">Pages:<ul>"""
        if p != 1:
            self.text += '<li><a href="/blog/page/1">&lt;&lt;</a></li>'
            self.text += '<li><a href="/blog/page/'
            self.text += str(p - 1)
            self.text += '">&lt;</a></li>'

        for x in range(pages + 1)[1:]:
            if x == p:
                self.text += "<li><b>" + str(x) + "</b></li>"
            else:
                self.text += """<li><a href="/blog/page/"""
                self.text += str(x)
                self.text += '">' + str(x) + '</a></li>'

        if p < pages:
            self.text += '<li><a href="/blog/page/'
            self.text += str(p + 1)
            self.text += '">&gt;</a></li>'
            self.text += '<li><a href="/blog/page/'
            self.text += str(pages)
            self.text += '">&gt;&gt;</a></li>'

        self.text += '<li><a href="/blog/all">all posts</a></li>'
        self.text += '<li><a href="/blog/rss.xml">rss</a></li>'
        self.text += """</ul></div>"""
Ejemplo n.º 6
0
Archivo: blog.py Proyecto: Deaddy/DCMS
	def show_post_by_pid(self, pid):
		rst = RstParser()

		if pid < 1 or pid > len(self.posts):
			self.show_pages()
			return

		self.text += '<h2><a class="permalink" href="/blog/cleanurl/' + str(self.posts[pid-1].cleanurl) + '">'
		self.text += self.posts[pid-1].title + "</a></h2>\n"
		self.text += "<i>" + self.posts[pid-1].date + "</i>\n"
		self.text += rst.parse(self.posts[pid-1].text)
		self.text += """<div class="pages"><ul>"""

		if pid > 1:
			self.text += '<li><a href="/blog/id/1">&lt;&lt;</a></li>'
			self.text += '<li><a href="/blog/id/' + str(pid-1) + '">&lt;</a></li>'

		if pid < len(self.posts):
			self.text += '<li><a href="/blog/id/' + str(pid+1) + '">&gt;</a></li>'
			self.text += '<li><a href="/blog/id/' + str(len(self.posts)) + '">&gt;&gt;</a></li>'

		self.text += '<li><a href="/blog/all">all posts</a></li>'
		self.text += '<li><a href="/blog/rss.xml">rss</a></li>'
		self.text += """</ul></div>"""