示例#1
0
    def display_in_xml(self, out):
        #get template
        path = os.path.join(os.path.dirname(__file__), 'empty.xml')
        f = open(path)
        try:
            data = f.read()
        finally:
            f.close()
        path = os.path.join(os.path.dirname(__file__), 'item.xml')
        f = open(path)
        try:
            item = f.read()
        finally:
            f.close()

        #find storearea
        items = ''
        tiddlers = []
        for t in self.tiddlers:
            t = Tiddler.get(t)
            if t and t.modified:
                tiddlers.append((t.modified, t))
            else:
                tiddlers.append((datetime.today(), t))
        tiddlers.sort()
        tiddlers.reverse()
        for (modified, t) in tiddlers:
            if t:
                if t.html:
                    text = util.html_escape(t.html)
                else:
                    text = util.html_escape(t.text)
                items += item % {
                    'title':
                    t.title,
                    'text':
                    text,
                    'tag':
                    t.tags,
                    'link':
                    config.TH_url + self.owner.username + '/' +
                    config.namespace_name + '/' + self.namespace.name + '/' +
                    config.tiddler_name + '/' + util.url_encode(t.title) +
                    '.html',
                    'date':
                    modified.strftime("%Y-%m-%d %H:%M"),
                }

        data = data % {
            'title': self.title,
            'link': 'http://bidix.appspot.com/',
            'description': self.subtitle,
            'username': self.owner.username,
            'pubDate': datetime.utcnow().strftime("%Y-%m-%d %H:%M"),
            'lastBuildDate': datetime.utcnow().strftime("%Y-%m-%d %H:%M"),
            'items': items,
        }
        out.write(data)
示例#2
0
	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")
示例#3
0
	def display_in_xml(self, out):
		#get template
		path = os.path.join(os.path.dirname(__file__), 'empty.xml')
		f = open(path)
		try:
			data = f.read()
		finally:
			f.close()
		path = os.path.join(os.path.dirname(__file__), 'item.xml')
		f = open(path)
		try:
			item = f.read()
		finally:
			f.close()
			
		#find storearea
		items = ''
		tiddlers = []
		for t in self.tiddlers:
			t = Tiddler.get(t)
			if t and t.modified:
				tiddlers.append((t.modified, t))
			else:
				tiddlers.append((datetime.today(),t))
		tiddlers.sort()
		tiddlers.reverse()
		for (modified, t) in tiddlers:
			if t:
				if t.html:
					text = util.html_escape(t.html)
				else:
					text = util.html_escape(t.text)
				items += item%{
					'title': t.title,
					'text': text,
					'tag': t.tags,
					'link': config.TH_url+self.owner.username+'/'+config.namespace_name+'/'+self.namespace.name+'/'+config.tiddler_name+'/'+util.url_encode(t.title) +'.html',
					'date': modified.strftime("%Y-%m-%d %H:%M"),
			}
		
		data = data%{
			'title': self.title, 
			'link': 'http://bidix.appspot.com/',
			'description': self.subtitle,
			'username': self.owner.username,
			'pubDate': datetime.utcnow().strftime("%Y-%m-%d %H:%M"),
			'lastBuildDate': datetime.utcnow().strftime("%Y-%m-%d %H:%M"),
			'items': items,
			}
		out.write(data)
示例#4
0
    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")