~jaapz-b/t00mblr/trunk

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/usr/bin/env python

#	t00mblr - a GTK tumblr client
#	By: Jaap Broekhuizen <jaapz.b@gmail.com>
#	Website: blog.jaapz.nl
#	
#	License:
#	This file is part of t00mblr.
#
#   t00mblr is free software: you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation, either version 3 of the License, or
#   (at your option) any later version.
#
#   t00mblr is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#   along with t00mblr.  If not, see <http://www.gnu.org/licenses/>.

'''This renders the tumblr api xml output'''

import urllib
from lxml import etree

from common import d

class renderer():
	blog = None
	parsed_xml = None
	template = "./templates/main.tpl"
	
	def __init__(self, blog):
		"""
			Renderer main init
		"""
		self.blog = blog
		self.get_blog()
		
	def get_blog(self):
		"""
			Retrieves the blog xml from the tumblr api
		"""
		try:
			stream = urllib.urlopen("http://"+self.blog+".tumblr.com/api/read")
			xml = stream.read()
			self.tumblr = etree.fromstring(xml)
		except Exception, e:
			print e
			return False
			
	def parse_blog(self):
		"""
			Parses the xml into webkit-viewable html
		"""
		posts = self.tumblr[1]
		caption = ""
		html = ""
		for post in posts:
			caption = post[0].text
			poster = self.get_poster()
			media = self.get_media()
			#html = self.insert_in_html(poster, caption, media)
			html += caption # temporary return variable
		return html
		#return html
		
		"""
			TODO:
				loop through text list
				print captions into divs
				get images by captions
		"""
		
	def get_media(self):
		"""
			Gets the photo, video or audio posted
		"""
		pass
		
	def get_poster(self):
		"""
			Gets user name of the poster
		"""
		pass
		
	def insert_in_html(self, poster, caption, media=None):
		"""
			Gets all variables and puts them in the html page
		"""
		pass