def __update_markup_block(self, source, block_name, tiddler_name): # tiddler in this tiddlywiki tiddler = Namespace.get_tiddler(self.name+"::"+tiddler_name, self.owner.username, self.namespace.name) if not tiddler: # tiddler in Namespace tiddler = Namespace.get_tiddler(tiddler_name, self.owner.username, self.namespace.name) if not tiddler: # tiddler in Shadow tiddler = Namespace.get_tiddler(tiddler_name) if tiddler: source = self.__replace_chunk( source, "<!--%s-START-->"%block_name, "<!--%s-END-->"%block_name, "\n" + tiddler.text + "\n") return source
def __update_markup_block(self, source, block_name, tiddler_name): # tiddler in this tiddlywiki tiddler = Namespace.get_tiddler(self.name + "::" + tiddler_name, self.owner.username, self.namespace.name) if not tiddler: # tiddler in Namespace tiddler = Namespace.get_tiddler(tiddler_name, self.owner.username, self.namespace.name) if not tiddler: # tiddler in Shadow tiddler = Namespace.get_tiddler(tiddler_name) if tiddler: source = self.__replace_chunk(source, "<!--%s-START-->" % block_name, "<!--%s-END-->" % block_name, "\n" + tiddler.text + "\n") return source
def display_in_html(self, out, url): #get template path = os.path.join(os.path.dirname(__file__), 'empty.html') f = open(path) try: data = f.read() finally: f.close() #Edit title and subtitle in html and shadow titlers data = self.__replace_chunk(data, "<title>", "</title>", self.title + ' - ' + self.subtitle) data = re.sub(r'SiteTitle: "My TiddlyWiki"', 'SiteTitle: "'+self.title+'"', data) data = re.sub(r'SiteSubtitle: "a reusable non-linear personal web notebook"', 'SiteSubtitle: "'+self.subtitle+'"', data ) data = re.sub(r'SiteUrl: "http://www\.tiddlywiki\.com/"', 'SiteUrl: "'+url+'"', data ) #Update markupBlock data = self.__update_markup_block(data, "PRE-HEAD","MarkupPreHead") data = self.__update_markup_block(data, "POST-HEAD","MarkupPostHead") data = self.__update_markup_block(data, "PRE-BODY","MarkupPreBody") data = self.__update_markup_block(data, "POST-SCRIPT","MarkupPostBody") #find storearea and insert tiddlers match = re.match("^(.*?<div id=\"storeArea\">).*?(</div>.*?<!--POST-STOREAREA-->.*?)$", data, re.DOTALL) if match: begin = match.group(1) end = match.group(2) out.write(begin) tiddlers = {} for t in self.tiddlers: if t: tiddler = Tiddler.get(t) if tiddler: tiddlers[tiddler.title] = tiddler # add dynamic tiddlywiki if 'UploadTiddlerPlugin' not in tiddlers: tiddlers['UploadTiddlerPlugin'] = Namespace.get_tiddler('UploadTiddlerPlugin') tiddler = None if self.namespace.own_by(User.get_current_user()): tiddler = Tiddler.create_or_update(self.namespace, 'zzTiddlyHomeTweaks', self.owner.username, tags='systemConfig excludeLists excludeSearch', newTitle='zzTiddlyHomeTweaks', text= config.tweaks_tiddler%{'username': self.owner.username, 'filename': self.name, 'storeUrl': config.storeTiddler_url}) tiddlers['zzTiddlyHomeTweaks'] = tiddler keys = tiddlers.keys() keys.sort() for ti in keys: if ti: out.write(tiddlers[ti].displayInStorearea(self.name)) out.write(end) if tiddler: tiddler.delete() else: raise Error("Maformed empty.html file")
def display_in_html(self, out, url): #get template path = os.path.join(os.path.dirname(__file__), 'empty.html') f = open(path) try: data = f.read() finally: f.close() #Edit title and subtitle in html and shadow titlers data = self.__replace_chunk(data, "<title>", "</title>", self.title + ' - ' + self.subtitle) data = re.sub(r'SiteTitle: "My TiddlyWiki"', 'SiteTitle: "' + self.title + '"', data) data = re.sub( r'SiteSubtitle: "a reusable non-linear personal web notebook"', 'SiteSubtitle: "' + self.subtitle + '"', data) data = re.sub(r'SiteUrl: "http://www\.tiddlywiki\.com/"', 'SiteUrl: "' + url + '"', data) #Update markupBlock data = self.__update_markup_block(data, "PRE-HEAD", "MarkupPreHead") data = self.__update_markup_block(data, "POST-HEAD", "MarkupPostHead") data = self.__update_markup_block(data, "PRE-BODY", "MarkupPreBody") data = self.__update_markup_block(data, "POST-SCRIPT", "MarkupPostBody") #find storearea and insert tiddlers match = re.match( "^(.*?<div id=\"storeArea\">).*?(</div>.*?<!--POST-STOREAREA-->.*?)$", data, re.DOTALL) if match: begin = match.group(1) end = match.group(2) out.write(begin) tiddlers = {} for t in self.tiddlers: if t: tiddler = Tiddler.get(t) if tiddler: tiddlers[tiddler.title] = tiddler # add dynamic tiddlywiki if 'UploadTiddlerPlugin' not in tiddlers: tiddlers['UploadTiddlerPlugin'] = Namespace.get_tiddler( 'UploadTiddlerPlugin') tiddler = None if self.namespace.own_by(User.get_current_user()): tiddler = Tiddler.create_or_update( self.namespace, 'zzTiddlyHomeTweaks', self.owner.username, tags='systemConfig excludeLists excludeSearch', newTitle='zzTiddlyHomeTweaks', text=config.tweaks_tiddler % { 'username': self.owner.username, 'filename': self.name, 'storeUrl': config.storeTiddler_url }) tiddlers['zzTiddlyHomeTweaks'] = tiddler keys = tiddlers.keys() keys.sort() for ti in keys: if ti: out.write(tiddlers[ti].displayInStorearea(self.name)) out.write(end) if tiddler: tiddler.delete() else: raise Error("Maformed empty.html file")