Source code for core.doctype.page.page
[docs]class DocType:
def __init__(self, d, dl):
self.doc, self.doclist = d,dl
[docs] def autoname(self):
if (self.doc.name and self.doc.name.startswith('New Page')) or not self.doc.name:
self.doc.name = self.doc.page_name.lower().replace(' ', '-')
[docs] def onload(self):
import os
from webnotes.modules import get_module_path, scrub
# load content
try:
file = open(os.path.join(get_module_path(self.doc.module), 'page', scrub(self.doc.name) + '.html'), 'r')
self.doc.content = file.read() or ''
file.close()
except IOError, e: # no file / permission
if e.args[0]!=2:
raise e
# replace $image
# ------------------
[docs] def validate(self):
import re
p = re.compile('\$image\( (?P<name> [^)]*) \)', re.VERBOSE)
if self.doc.content:
self.doc.content = p.sub(self.replace_by_img, self.doc.content)
[docs] def replace_by_img(self, match):
import webnotes
name = match.group('name')
return '<img src="cgi-bin/getfile.cgi?ac=%s&name=%s">' % (webnotes.conn.get('Control Panel', None, 'account_id'), name)
# export
[docs] def on_update(self):
from webnotes.modules.export_module import export_to_files
from webnotes.modules import get_module_path, scrub
import os
from webnotes import defs
if getattr(defs,'developer_mode', 0):
export_to_files(record_list=[['Page', self.doc.name]])
if self.doc.write_content and self.doc.content:
file = open(os.path.join(get_module_path(self.doc.module), 'page', scrub(self.doc.name), scrub(self.doc.name) + '.html'), 'w')
file.write(self.doc.content)
file.close()