#
class LyX_base:
"""This class carries all the information of the LyX file."""
-
+
def __init__(self, end_format = 0, input = "", output = "", error = "",
debug = default_debug__, try_hard = 0, cjk_encoding = '',
language = "english", encoding = "auto"):
line = trim_eol(line)
if check_token(line, '\\end_preamble'):
break
-
+
if line.split()[:0] in ("\\layout",
"\\begin_layout", "\\begin_body"):
-
+
self.warning("Malformed LyX file:"
"Missing '\\end_preamble'."
"\nAdding it now and hoping"
self.header.append(line)
+ i = find_token(self.header, '\\textclass', 0)
+ if i == -1:
+ self.warning("Malformed LyX file: Missing '\\textclass'.")
+ i = find_token(self.header, '\\lyxformat', 0) + 1
+ self.header[i:i] = ['\\textclass article']
+
self.textclass = get_value(self.header, "\\textclass", 0)
self.backend = get_backend(self.textclass)
self.format = self.read_format()
if self.preamble:
i = find_token(self.header, '\\textclass', 0) + 1
preamble = ['\\begin_preamble'] + self.preamble + ['\\end_preamble']
- if i == 0:
- self.error("Malformed LyX file: Missing '\\textclass'.")
- else:
- header = self.header[:i] + preamble + self.header[i:]
+ header = self.header[:i] + preamble + self.header[i:]
else:
header = self.header
try:
gzip.open(input).readline()
self.input = gzip.open(input)
- self.output = gzip.GzipFile(mode="wb", fileobj=self.output)
+ self.output = gzip.GzipFile(mode="wb", fileobj=self.output)
except:
self.input = open(input)
else:
# skip paragraph parameters
while not self.body[k].strip() or self.body[k].split()[0] \
in allowed_parameters:
- k += 1
+ k += 1
while k < j:
if check_token(self.body[k], '\\begin_inset'):