import HTMLTagFilter
import deterfile
+import getjpggeom
#sys.stdin = codecs.getreader('utf_8')(sys.stdin)
#sys.stdout = codecs.getwriter('utf_8')(sys.stdout)
elif re.search(ur"^☆end-column", line):
self._end_column(line)
continue
+ elif re.search(ur"^☆begin-note:", line):
+ self._begin_note(line)
+ continue
+ elif re.search(ur"^☆end-note", line):
+ self._end_note(line)
+ continue
elif re.search(ur"^☆space", line):
self._space(line)
continue
elif re.search(ur"^○", line):
self._head_m(line)
continue
+ elif re.search(ur"^◇", line):
+ self._head_s(line)
+ continue
elif re.search(ur"^☆----", line):
self._newpage(line)
continue
elif re.search(ur"^☆リスト", line):
self._list(line)
continue
+ elif re.search(ur"^☆実行例", line):
+ self._list(line)
+ continue
elif re.search(ur"^☆flow", line):
self._flow(line)
continue
line = re.sub(ur"^○(.*)$", ur"<h4>\1</h4>", line)
print line
+ def _head_s(self, line):
+ line = line.rstrip()
+ if re.search(ur"\*{[a-zA-Z0-9_]*}\s*$", line):
+ self._anchor = re.search(ur"\*\{([a-zA-Z0-9_]*)\}\s*$", line).group(1)
+ line = re.sub(ur"\s*\*\{[a-zA-Z0-9_]*\}\s*$", "", line)
+
+ line = self._default_markup_rule(line)
+ if self._anchor != "":
+ line = re.sub(ur"^◇(.*)$", ur'<div id="%s"><h5>\1</h5></div>' % self._anchor, line)
+ self._anchor = ""
+ else:
+ line = re.sub(ur"^◇(.*)$", ur"<h5>\1</h5>", line)
+ print line
+
def _paragraph(self, line):
line = self._default_markup_rule(line)
line = "<p>" + line + "</p>"
# apply filter
# line = tag_filter.apply(line)
+ line = re.sub(ur"[★*](動画[0-9〜~、]+)", ur"<b>\1</b>", line)
line = re.sub(ur"[★*](表[0-9〜~、]+)", ur"<b>\1</b>", line)
line = re.sub(ur"[★*](図[0-9〜~、]+)", ur"<b>\1</b>", line)
line = re.sub(ur"[★*](写真[0-9〜~、]+)", ur"<b>\1</b>", line)
+ line = re.sub(ur"[★*](実行例[0-9〜~、]+)", ur"<b>\1</b>", line)
line = re.sub(ur"[★*](リスト[0-9~〜、]+)", ur"<b>\1</b>", line)
line = re.sub(ur"[★*](コラム[0-9〜~、]+)", ur"<b>\1</b>", line)
line = re.sub(ur"[★*]b\[(.*?)\]", ur"<b>\1</b>", line)
print "</ol>\n"
-
def _begin_column(self, line):
"""Proccess column"""
try:
</div>
"""
+ def _begin_note(self, line):
+ """Proccess note"""
+ try:
+ str_title = re.search(ur"^☆begin-note:(.*)$", line).group(1)
+ except AttributeError:
+ str_title = ""
+
+ html = """
+<div class="column" style="background:#F0F8FF;border:1px solid gray; font-size:85%%;padding:8px 8px 4px;margin-bottom: 1em;">
+"""
+ if len(str_title.strip()) > 0:
+ html = html + "<strong>%s</strong>" % (str_title)
+ print html
+
+ def _end_note(self, line):
+ print """
+</div>
+ """
+
def _list_start(self):
return "<pre>"
def _list(self, line):
try:
- str_title = re.search(ur"^☆(リスト.*)$", line).group(1)
+ str_title = re.search(ur"^☆((リスト|実行例).*)$", line).group(1)
except AttributeError:
str_title = ""
- print "<p><b>%s</b></p>" % (str_title)
+ print "<p class='caption'><b>%s</b></p>" % (str_title)
print self._list_start()
for line in self.input_iter:
""" % (cap)
def _get_png_geom(self, filepath):
- desc = deterfile.file(filepath)
+ s = filepath.split('.')
+ ext = s[-1]
+ if (ext == 'JPG') or (ext == 'jpg'):
+ (w, h) = getjpggeom.get_jpeg_geometory(filepath)
+ return (w, h)
+ else:
+ desc = deterfile.file(filepath)
+
try:
m = re.match(r"([0-9]+)\s*x\s*([0-9]+)", desc[1])
except IndexError:
- err = ",".join(desc)
+ err = ", ".join(desc)
raise Exception("deterfile error: %s, file: %s . " % (err,filepath))
if m:
w = m.group(1)