template based web page loading using web.py
diff --git a/public/web.py b/public/web.py
index 751d762..6f3569e 100755
--- a/public/web.py
+++ b/public/web.py
@@ -23,71 +23,41 @@
 	webnotes.connect()
 
 def respond():
-	html = get_html()
+	import webnotes
+	try:
+		if 'page' in webnotes.form_dict:
+			html = get_html(webnotes.form_dict['page'])
+		else:
+			# show home page
+			html = get_html('index')
+	except Exception, e:
+		html = get_html('404')
+
 	print "Content-Type: text/html"
 	print
 	print html.encode('utf-8')
 
-def get_html():
+def scrub_page_name(page_name):
+	if page_name.endswith('.html'):
+		page_name = page_name[:-5]
+	return page_name
+
+def get_html(page_name):
 	import webnotes
-	from webnotes.model.doc import Document
-	# Get web page
-	outer_env_dict = get_outer_env()
-	try:
-		if 'page' in webnotes.form_dict:
-			page_name = webnotes.form_dict['page']
-			if page_name.endswith('.html'):
-				page_name = page_name[:-5]
-				
-			if page_name.startswith('blog'):
-				raise Exception
-				#page_name = 
-			else:
-				page_name = get_web_page_name(page_name)		
-		else:
-			from webnotes.cms import get_home_page
-			page_name = get_home_page('Guest')
-		
-		page = Document('Web Page', page_name)
-		page.fields.update(outer_env_dict)
-
-		return build_html(page.fields, "page: %s" % page_name)
-		
-	except Exception, e:
-		return build_html(outer_env_dict, "error: %s" % webnotes.getTraceback(), '404.html')
-
-def get_outer_env():
-	"""env dict for outer template"""
-	import webnotes
-	return {
-		'top_bar_items': webnotes.conn.sql("""select * from `tabTop Bar Item`
-			where parent='Website Settings' and parentfield='top_bar_items'
-			order by idx asc""", as_dict=1),
+	import website.web_cache
+	page_name = scrub_page_name(page_name)
 	
-		'footer_items': webnotes.conn.sql("""select * from `tabTop Bar Item`
-			where parent='Website Settings' and parentfield='footer_items'
-			order by idx asc""", as_dict=1),
-			
-		'brand': webnotes.conn.get_value('Website Settings', None, 'brand_html'),
-		'copyright': webnotes.conn.get_value('Website Settings', None, 'copyright'),
-	}
-
-def build_html(args, comments, template='page.html'):
-	"""build html using jinja2 templates"""
-	from webnotes.utils import cstr
-	from jinja2 import Environment, FileSystemLoader
-	jenv = Environment(loader = FileSystemLoader('../erpnext/website/templates'))
+	if page_name == '404':
+		comments = """error: %s""" % webnotes.getTraceback()
+		template = '404.html'
+	else:
+		comments = """page: %s""" % page_name
+		template = 'page.html'
 	
-	html = jenv.get_template(template).render(args)
-	html += "\n<!-- %s -->" % cstr(comments)
+	html = website.web_cache.load_from_web_cache(page_name, comments, template)
+	
 	return html
 
-def get_web_page_name(page_name):
-	"""get page by shortname"""
-	import webnotes
-	return webnotes.conn.sql("""select name from `tabWeb Page` where page_name=%s""", page_name)[0][0]
-
-		
 if __name__=="__main__":
 	init()
 	respond()