* prefs2prefs.py : Use a list of [format, conversions] pair.

Use a list of [int, list of functions] pair, representing
      - int: the format number, and
      - list of functions: what needs to be done to the file to
                           update it to the given format number.

    This matches what is done in lyx2lyx and helps keeping track of
    format numbers and their corresponding conversion routines.

    Also, add another sanity check.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39668 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Julien Rioux 2011-09-12 20:43:06 +00:00
parent ba02c43178
commit 0fb13b648c
3 changed files with 14 additions and 7 deletions

View File

@ -167,17 +167,24 @@ def main(argv):
format = get_format(lines) format = get_format(lines)
while format < current_format: while format < current_format:
for c in conversions[format]: target_format, convert = conversions[format]
old_format = format
# make sure the conversion list is sequential
if int(old_format) + 1 != target_format:
sys.stderr.write("Something is wrong with the conversion chain.\n")
sys.exit(1)
for c in convert:
for i in range(len(lines)): for i in range(len(lines)):
(update, newline) = c(lines[i]) (update, newline) = c(lines[i])
if update: if update:
lines[i] = newline lines[i] = newline
update_format(lines) update_format(lines)
format = get_format(lines)
# sanity check # sanity check
old_format = format
format = get_format(lines)
if int(old_format) + 1 != int(format): if int(old_format) + 1 != int(format):
sys.stderr.write("Failed to convert to new format!\n") sys.stderr.write("Failed to convert to new format!\n")
sys.exit(1) sys.exit(1)

View File

@ -154,7 +154,7 @@ def Bar2bar(line):
# Conversion chain # Conversion chain
conversions = [ conversions = [
[ # this will be a long list of conversions for format 0 [ 1, [ # this will be a long list of conversions to format 1
next_inset_toggle, next_inset_toggle,
next_inset_modify, next_inset_modify,
optional_insert, optional_insert,
@ -165,6 +165,6 @@ conversions = [
paragraph_spacing, paragraph_spacing,
tabular_feature, tabular_feature,
Bar2bar Bar2bar
] # end conversions for format 0 ]],
] ]

View File

@ -101,11 +101,11 @@ def export_menu(line):
conversions = [ conversions = [
[ # this will be a long list of conversions for format 0 [ 1, [ # this will be a long list of conversions to format 1
export_menu, export_menu,
latex_flavor, latex_flavor,
remove_obsolete, remove_obsolete,
language_use_babel, language_use_babel,
language_package language_package
] # end conversions for format 0 ]],
] ]