コード例 #1
0
ファイル: wiki.py プロジェクト: raphaeldore/zim-desktop-wiki
 def dump(self, tree):
     if tree.meta and not tree.ispartial:
         tree.meta['Content-Type'] = 'text/x-zim-wiki'
         tree.meta['Wiki-Format'] = WIKI_FORMAT_VERSION
         # TODO force content type is first line
         return [dump_header_lines(tree.meta), '\n'] + TextDumper.dump(
             self, tree)
     else:
         return TextDumper.dump(self, tree)
コード例 #2
0
ファイル: wiki.py プロジェクト: paulmfoster/zim-desktop-wiki
 def dump(self, tree, file_output=False):
     # If file_output=True we add meta headers to the output
     # would be nicer to handle this via a template, but works for now
     if file_output:
         header = (
             ('Content-Type', 'text/x-zim-wiki'),
             ('Wiki-Format', WIKI_FORMAT_VERSION),
         )
         return [dump_header_lines(header, getattr(tree, 'meta', {})), '\n'] \
            + TextDumper.dump(self, tree)
     else:
         return TextDumper.dump(self, tree)
コード例 #3
0
	def dump_li(self, tag, attrib, strings):
		# Markdown does not support letters as list bullets - convert to number
		assert self.context[-1].tag in (BULLETLIST, NUMBEREDLIST), 'Do not support raw pageview output here'
		if self.context[-1].tag == NUMBEREDLIST \
			and not self.context[-1].attrib.get('_iter'):
				# First item on this level
				iter = self.context[-1].attrib.get('start', '1')
				self.context[-1].attrib['_iter'] = convert_list_iter_letter_to_number(iter)
		return TextDumper.dump_li(self, tag, attrib, strings)
コード例 #4
0
    def dump_list(self, tag, attrib, strings):
        # OPEN ISSUE: no indent for lists
        if 'indent' in attrib:
            del attrib['indent']
        strings = TextDumper.dump_list(self, tag, attrib, strings)

        if self.context[-1].tag in (BULLETLIST, NUMBEREDLIST):
            # sub-list
            return strings
        else:
            # top level list, wrap in empty lines
            strings.insert(0, '\n')
            strings.append('\n')
            return strings
コード例 #5
0
ファイル: markdown.py プロジェクト: gdw2/zim
	def dump_list(self, tag, attrib, strings):
		# OPEN ISSUE: no indent for lists
		if 'indent' in attrib:
			del attrib['indent']
		strings = TextDumper.dump_list(self, tag, attrib, strings)

		if self.context[-1].tag in (BULLETLIST, NUMBEREDLIST):
			# sub-list
			return strings
		else:
			# top level list, wrap in empty lines
			strings.insert(0, '\n')
			strings.append('\n')
			return strings
コード例 #6
0
ファイル: latex.py プロジェクト: gdw2/zim
	def dump(self, tree):
		assert isinstance(tree, ParseTree)
		assert self.linker, 'LaTeX dumper needs a linker object'
		self.linker.set_usebase(False)

		self.document_type = self.template_options.get('document_type')
			# Option set in template - potentially tainted value

		if not self.document_type in ('report', 'article','book'):
			logger.warn('No document type set in template, assuming "report"')
			self.document_type = 'report' # arbitrary default
		else:
			logger.info('used document type: %s' % self.document_type)

		return TextDumper.dump(self, tree)
コード例 #7
0
    def dump(self, tree):
        assert isinstance(tree, ParseTree)
        assert self.linker, 'LaTeX dumper needs a linker object'
        self.linker.set_usebase(False)

        self.document_type = self.template_options.get('document_type')
        # Option set in template - potentially tainted value

        if not self.document_type in ('report', 'article', 'book'):
            logger.warn('No document type set in template, assuming "report"')
            self.document_type = 'report'  # arbitrary default
        else:
            logger.info('used document type: %s' % self.document_type)

        return TextDumper.dump(self, tree)
コード例 #8
0
	def dump_ol(self, tag, attrib, strings):
		start = attrib.get('start', 1)
		if start in string.ascii_lowercase:
			type = 'a'
			start = string.ascii_lowercase.index(start) + 1
		elif start in string.ascii_uppercase:
			type = 'A'
			start = string.ascii_uppercase.index(start) + 1
		else:
			type = '1'
			start = int(start)

		strings.insert(0, '\\begin{enumerate}[%s]\n' % type)
		if start > 1:
			strings.insert(1, '\setcounter{enumi}{%i}\n' % (start - 1))
		strings.append('\\end{enumerate}\n')

		return TextDumper.dump_ol(self, tag, attrib, strings)
コード例 #9
0
ファイル: latex.py プロジェクト: fabricehong/zim-desktop
	def dump_ol(self, tag, attrib, strings):
		start = attrib.get('start', 1)
		if start in string.lowercase:
			type = 'a'
			start = string.lowercase.index(start) + 1
		elif start in string.uppercase:
			type = 'A'
			start = string.uppercase.index(start) + 1
		else:
			type = '1'
			start = int(start)

		strings.insert(0, '\\begin{enumerate}[%s]\n' % type)
		if start > 1:
			strings.insert(1, '\setcounter{enumi}{%i}\n' % (start-1))
		strings.append('\\end{enumerate}\n')

		return TextDumper.dump_ol(self, tag, attrib, strings)
コード例 #10
0
ファイル: latex.py プロジェクト: timckuhn/zim-desktop-wiki
	def dump_ol(self, tag, attrib, strings):
		start = attrib.get('start', 1)
		if os.name == 'nt':
			start = start.encode('utf-8') # Weird locale dependent behavior
		if start in string.lowercase:
			type = 'a'
			start = string.lowercase.index(start) + 1
		elif start in string.uppercase:
			type = 'A'
			start = string.uppercase.index(start) + 1
		else:
			type = '1'
			start = int(start)

		strings.insert(0, '\\begin{enumerate}[%s]\n' % type)
		if start > 1:
			strings.insert(1, '\setcounter{enumi}{%i}\n' % (start-1))
		strings.append('\\end{enumerate}\n')

		return TextDumper.dump_ol(self, tag, attrib, strings)
コード例 #11
0
ファイル: rst.py プロジェクト: tmhorne/simplewiki
 def dump(self, tree):
     assert self.linker, 'rst dumper needs a linker object'
     return TextDumper.dump(self, tree)
コード例 #12
0
ファイル: latex.py プロジェクト: fabricehong/zim-desktop
	def dump_ul(self, tag, attrib, strings):
		strings.insert(0, '\\begin{itemize}\n')
		strings.append('\\end{itemize}\n')

		return TextDumper.dump_ul(self, tag, attrib, strings)
コード例 #13
0
ファイル: markdown.py プロジェクト: gdw2/zim
	def dump(self, tree):
		assert self.linker, 'Markdown dumper needs a linker object'
		self.linker.set_usebase(True)
		return TextDumper.dump(self, tree)
コード例 #14
0
 def dump(self, tree):
     assert self.linker, 'Markdown dumper needs a linker object'
     self.linker.set_usebase(True)
     return TextDumper.dump(self, tree)
コード例 #15
0
ファイル: latex.py プロジェクト: fabricehong/zim-desktop
	def dump(self, tree):
		assert isinstance(tree, ParseTree)
		assert self.linker, 'LaTeX dumper needs a linker object'
		self.document_type = self.template_options['document_type']
		logger.info('used document type: %s' % self.document_type)
		return TextDumper.dump(self, tree)
コード例 #16
0
	def dump(self, tree):
		assert isinstance(tree, ParseTree)
		assert self.linker, 'LaTeX dumper needs a linker object'
		self.document_type = self.template_options['document_type']
		logger.info('used document type: %s' % self.document_type)
		return TextDumper.dump(self, tree)
コード例 #17
0
ファイル: rst.py プロジェクト: hjq300/zim-wiki
	def dump(self, tree):
		assert self.linker, 'rst dumper needs a linker object'
		return TextDumper.dump(self, tree)
コード例 #18
0
	def dump_ul(self, tag, attrib, strings):
		strings.insert(0, '\\begin{itemize}\n')
		strings.append('\\end{itemize}\n')

		return TextDumper.dump_ul(self, tag, attrib, strings)