beta-0.89.2
[luatex.git] / source / libs / zziplib / zziplib-0.13.62 / docs / zzipdoc / textfile.py
blobbfaff8dbdfa3dcee3a8746124d9be15793372630
2 def _src_to_xml(text):
3 return text.replace("&", "&amp;").replace("<", "&lt;").replace(">", "&gt")
5 class TextFile:
6 def __init__(self, filename = None):
7 self.filename = filename
8 self.src_text = None
9 self.xml_text = None
10 def parse(self, filename = None):
11 if filename is not None:
12 self.filename = filename
13 if self.filename is None:
14 return False
15 try:
16 fd = open(self.filename, "r")
17 self.src_text = fd.read()
18 fd.close()
19 return True
20 except IOError, e:
21 pass
22 return False
23 def assert_src_text(self):
24 if self.src_text: return True
25 return self.parse()
26 def assert_xml_text(self):
27 if self.xml_text: return True
28 if not self.assert_src_text(): return False
29 self.xml_text = _src_to_xml(self.src_text)
30 def get_src_text(self):
31 self.assert_src_text()
32 return self.src_text
33 def get_xml_text(self):
34 self.assert_xml_text()
35 return self.xml_text
36 def get_filename(self):
37 return self.filename
38 def line_xml_text(self, offset):
39 self._line(self.xml_text, offset)
40 def line_src_text(self, offset):
41 self._line(self.src_text, offset)
42 def _line(self, text, offset):
43 line = 1
44 for x in xrange(0,offset):
45 if x == "\n":
46 line += 1
47 return line