def line(self, position):
return self.lines[position]
- ignore = [ re.compile(r"^[\[][PA][\]] - [^ ]+$") ]
+ ignore = [re.compile(r"^[\[][PA][\]] - [^ ]+$")]
empty_line = re.compile(r"^\s+$")
def skip_empty(self, position):
position += 1
return position
-
def tag(self, position):
"""
Return None -- means that we can't tag it in any way
def wrap(self, tagname, content):
return u"<%s>%s</%s>" % (tagname, content, tagname)
+ @staticmethod
+ def anymatches(regex):
+ return lambda x: regex.match(x)
+
+
class Section(Tagger):
looks_like = re.compile(r"^[IVX]+[.]\s+(.*)$")
class List(Tagger):
+ point = re.compile(r"^[\s]*([-*])")
+
def tag(self, pos):
self.items = []
while True:
l = self.line(pos)
- if l and l[0] in ('-', '*'):
+ m = self.point.match(l)
+ if l and m:
self.items.append(l[1:].strip())
pos += 1
else:
return pos
def __unicode__(self):
- s = "<lista>\n"
+ s = '<lista typ="punkt">'
for i in self.items:
- s += "<punkt>%s</punkt>\n" % i
- s += "</lista>\n"
+ s += "\n<punkt>%s</punkt>" % i
+ s += "\n</lista>\n"
return s
pos += 1
if pos >= len(lines):
break
-
+
return toxml(content)
dc_fixed = {
elif db >= 1:
de = i
content[db:de] = [Container('slowniczek', *slowniczek)]
+ break
elif db >= 0:
if isinstance(e, Paragraph):
m = is_dictentry.match(e.line)