summaryrefslogtreecommitdiff
path: root/creole/emitter/html2textile_emitter.py
diff options
context:
space:
mode:
Diffstat (limited to 'creole/emitter/html2textile_emitter.py')
-rw-r--r--creole/emitter/html2textile_emitter.py43
1 files changed, 21 insertions, 22 deletions
diff --git a/creole/emitter/html2textile_emitter.py b/creole/emitter/html2textile_emitter.py
index e43b0df..3cbbd02 100644
--- a/creole/emitter/html2textile_emitter.py
+++ b/creole/emitter/html2textile_emitter.py
@@ -16,7 +16,6 @@ import posixpath
from creole.shared.base_emitter import BaseEmitter
-
class TextileEmitter(BaseEmitter):
"""
Build from a document_tree (html2creole.parser.HtmlParser instance) a
@@ -31,64 +30,70 @@ class TextileEmitter(BaseEmitter):
def emit(self):
"""Emit the document represented by self.root DOM tree."""
- return self.emit_node(self.root).strip() # FIXME
+ return self.emit_node(self.root).strip() # FIXME
- #--------------------------------------------------------------------------
+ # --------------------------------------------------------------------------
def blockdata_pre_emit(self, node):
""" pre block -> with newline at the end """
return "<pre>%s</pre>\n" % self.deentity.replace_all(node.content)
+
def inlinedata_pre_emit(self, node):
""" a pre inline block -> no newline at the end """
return "<pre>%s</pre>" % self.deentity.replace_all(node.content)
def blockdata_pass_emit(self, node):
- return "%s\n\n" % node.content
+ return f"{node.content}\n\n"
return node.content
-
- #--------------------------------------------------------------------------
+ # --------------------------------------------------------------------------
def p_emit(self, node):
return "%s\n\n" % self.emit_children(node)
def headline_emit(self, node):
- return "h%i. %s\n\n" % (node.level, self.emit_children(node))
+ return f"h{node.level:d}. {self.emit_children(node)}\n\n"
- #--------------------------------------------------------------------------
+ # --------------------------------------------------------------------------
def _typeface(self, node, key):
return key + self.emit_children(node) + key
def strong_emit(self, node):
return self._typeface(node, key="*")
+
def b_emit(self, node):
return self._typeface(node, key="**")
big_emit = strong_emit
def i_emit(self, node):
return self._typeface(node, key="__")
+
def em_emit(self, node):
return self._typeface(node, key="_")
def sup_emit(self, node):
return self._typeface(node, key="^")
+
def sub_emit(self, node):
return self._typeface(node, key="~")
+
def del_emit(self, node):
return self._typeface(node, key="-")
def cite_emit(self, node):
return self._typeface(node, key="??")
+
def ins_emit(self, node):
return self._typeface(node, key="+")
def span_emit(self, node):
return self._typeface(node, key="%")
+
def code_emit(self, node):
return self._typeface(node, key="@")
- #--------------------------------------------------------------------------
+ # --------------------------------------------------------------------------
def hr_emit(self, node):
return "----\n\n"
@@ -96,7 +101,7 @@ class TextileEmitter(BaseEmitter):
def a_emit(self, node):
link_text = self.emit_children(node)
url = node.attrs["href"]
- return '"%s":%s' % (link_text, url)
+ return f'"{link_text}":{url}'
def img_emit(self, node):
src = node.attrs["src"]
@@ -106,17 +111,17 @@ class TextileEmitter(BaseEmitter):
title = node.attrs.get("title", "")
alt = node.attrs.get("alt", "")
- if len(alt) > len(title): # Use the longest one
+ if len(alt) > len(title): # Use the longest one
text = alt
else:
text = title
- if text == "": # Use filename as picture text
+ if text == "": # Use filename as picture text
text = posixpath.basename(src)
- return "!%s(%s)!" % (src, text)
+ return f"!{src}({text})!"
- #--------------------------------------------------------------------------
+ # --------------------------------------------------------------------------
def ul_emit(self, node):
return self._list_emit(node, list_type="*")
@@ -125,12 +130,6 @@ class TextileEmitter(BaseEmitter):
return self._list_emit(node, list_type="#")
-
-
-
-
-
-
if __name__ == '__main__':
import doctest
print(doctest.testmod())
@@ -160,8 +159,8 @@ if __name__ == '__main__':
h2c.debug()
e = TextileEmitter(document_tree,
- debug=True
- )
+ debug=True
+ )
content = e.emit()
print("*" * 79)
print(content)