# Regular expressions used
format_re = re.compile(r"(\d)[\.,]?(\d\d)")
fileformat = re.compile(r"\\lyxformat\s*(\S*)")
-original_version = re.compile(r".*?LyX ([\d.]*)")
-original_tex2lyx_version = re.compile(r".*?tex2lyx ([\d.]*)")
+original_version = re.compile(b".*?LyX ([\\d.]*)")
+original_tex2lyx_version = re.compile(b".*?tex2lyx ([\\d.]*)")
##
# file format information:
""" Emits warning to self.error, if the debug_level is less
than the self.debug."""
if debug_level <= self.debug:
- self.err.write("Warning: " + message + "\n")
+ self.err.write("lyx2lyx warning: " + message + "\n")
def error(self, message):
file, returns the most likely value, or None otherwise."""
for line in self.header:
- if line[0] != "#":
+ if line[0:1] != b"#":
return None
- line = line.replace("fix",".")
+ line = line.replace(b"fix",b".")
# need to test original_tex2lyx_version first because tex2lyx
# writes "#LyX file created by tex2lyx 2.2"
result = original_tex2lyx_version.match(line)
result = original_version.match(line)
if result:
# Special know cases: reLyX and KLyX
- if line.find("reLyX") != -1 or line.find("KLyX") != -1:
+ if line.find(b"reLyX") != -1 or line.find(b"KLyX") != -1:
return "0.12"
if result:
res = result.group(1)
if not res:
self.warning(line)
#self.warning("Version %s" % result.group(1))
- return res
+ return res.decode('ascii') if not PY2 else res
self.warning(str(self.header[:2]))
return None
modlist = self.get_module_list()
if module not in modlist:
return False
- self.set_module_list([line for line in modlist if line != "ruby"])
+ self.set_module_list([line for line in modlist if line != module])
return True
def get_module_list(self):
self.warning("Malformed LyX document: No \\textclass!!")
return
i = j = tclass + 1
- else:
+ else:
j = find_token(self.header, "\\end_modules", i)
if j == -1:
self.warning("(set_module_list) Malformed LyX document: No \\end_modules.")
# this should not happen
self.warning("Malformed LyX document! No \\language header found!")
return
- self.header[k-1 : k-1] = ["\\begin_local_layout", "\\end_local_layout"]
- i = k - 1
+ self.header[k : k] = ["\\begin_local_layout", "\\end_local_layout"]
+ i = k
j = find_end_of(self.header, i, "\\begin_local_layout", "\\end_local_layout")
if j == -1:
self.header[i+1 : i+1] = new_layout
- def del_local_layout(self, old_layout):
- " Delete `old_layout` from local layouts, return success."
- i = find_complete_lines(self.header, old_layout)
+ def del_local_layout(self, layout_def):
+ " Delete `layout_def` from local layouts, return success."
+ i = find_complete_lines(self.header, layout_def)
if i == -1:
return False
- j = i+len(old_layout)
+ j = i+len(layout_def)
if (self.header[i-1] == "\\begin_local_layout" and
self.header[j] == "\\end_local_layout"):
i -=1