#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
""" Convert files to the file format generated by lyx 1.2"""
-import string
import re
from parser_tools import find_token, find_token_backwards, \
- find_tokens, find_tokens_backwards,
+ find_tokens, find_tokens_backwards, \
find_beginning_of, find_end_of, find_re, \
is_nonempty_line, find_nonempty_line, \
get_value, check_token
def get_layout(line, default_layout):
" Get layout, if empty return the default layout."
- tokens = string.split(line)
+ tokens = line.split()
if len(tokens) > 1:
return tokens[1]
return default_layout
# There are no nested floats, so finding the end of the float is simple
j = find_token(lines, "\\end_float", i+1)
- floattype = string.split(lines[i])[1]
- if not floats.has_key(floattype):
+ floattype = lines[i].split()[1]
+ if floattype not in floats:
document.warning("Error! Unknown float type " + floattype)
floattype = "fig"
def is_empty(lines):
" Are all the lines empty?"
- return filter(is_nonempty_line, lines) == []
+ return list(filter(is_nonempty_line, lines)) == []
move_rexp = re.compile(r"\\(family|series|shape|size|emph|numeric|bar|noun|end_deeper)")
tmp.append(line)
if is_empty(tmp):
- if filter(lambda x:x != "", tmp) != []:
+ if [x for x in tmp if x != ""] != []:
if new == []:
# This is not necessary, but we want the output to be
# as similar as posible to the lyx format
i = find_token(lines, name, start, end)
if i == -1:
return ""
- x = string.split(lines[i])
+ x = lines[i].split()
return x[2]+oldunits[int(x[1])]
break
j = find_end_of_inset(lines, i)
- if ( len(string.split(lines[i])) > 2 ):
- lyxwidth = string.split(lines[i])[3]+"pt"
- lyxheight = string.split(lines[i])[4]+"pt"
+ if ( len(lines[i].split()) > 2 ):
+ lyxwidth = lines[i].split()[3]+"pt"
+ lyxheight = lines[i].split()[4]+"pt"
else:
lyxwidth = ""
lyxheight = ""
for k in get_tabular_lines(lines, i):
if check_token(lines[k], "<lyxtabular"):
- lines[k] = string.replace(lines[k], 'version="2"', 'version="3"')
+ lines[k] = lines[k].replace('version="2"', 'version="3"')
elif check_token(lines[k], "<column"):
- lines[k] = string.replace(lines[k], 'width=""', 'width="0pt"')
+ lines[k] = lines[k].replace('width=""', 'width="0pt"')
if line_re.match(lines[k]):
lines[k] = re.sub(attr_re, "", lines[k])
def insert_attribute(lines, i, attribute):
" Insert attribute in lines[i]."
- last = string.find(lines[i],'>')
+ last = lines[i].find('>')
lines[i] = lines[i][:last] + ' ' + attribute + lines[i][last:]
# remove longtable elements from features
features = lt_features_re.search(body[i])
if features:
- body[i] = string.replace(body[i], features.group(1), "")
+ body[i] = body[i].replace(features.group(1), "")
continue
row_info = row() * rows
i = find_token(lines, "\\begin_inset Info", i)
if i == -1:
break
- txt = string.lstrip(lines[i][18:])
+ txt = lines[i][18:].lstrip()
new = ["\\begin_inset Note", "collapsed true", ""]
j = find_token(lines, "\\end_inset", i)
if j == -1:
for line in note_lines:
new = new + ['\layout %s' % document.default_layout, ""]
- tmp = string.split(line, '\\')
+ tmp = line.split('\\')
new = new + [tmp[0]]
for x in tmp[1:]:
new = new + ["\\backslash ", x]