[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Add backup option to convert-ly (Issue 3572) (issue 14040043)
From: |
PhilEHolmes |
Subject: |
Add backup option to convert-ly (Issue 3572) (issue 14040043) |
Date: |
Fri, 27 Sep 2013 13:11:59 +0000 |
Reviewers: Julien Rioux, dak,
Message:
Initial patch to check the principle is OK. Will require documentation
updates before it's pushed. Please review Eluze's Python.
Description:
Add backup option to convert-ly (Issue 3572)
Please review this at https://codereview.appspot.com/14040043/
Affected files (+23, -13 lines):
M scripts/convert-ly.py
Index: scripts/convert-ly.py
diff --git a/scripts/convert-ly.py b/scripts/convert-ly.py
index
7acd2e29dac7ee1f908a9bc0f5ec50131d798041..0bb7c98f08d8238e372975d30177eef0495cd6b5
100644
--- a/scripts/convert-ly.py
+++ b/scripts/convert-ly.py
@@ -24,6 +24,7 @@
import os
import sys
import re
+import shutil
"""
@relocate-preamble@
@@ -129,18 +130,25 @@ def get_option_parser ():
action='store_true',
dest='diff_version_update',
default=False)
-
+
p.add_option ("-s", '--show-rules',
help=_ ("show rules [default: -f 0, -t %s]") %
program_version,
dest='show_rules',
action='store_true', default=False)
-
+
p.add_option ('-t', '--to',
help=_ ("convert to VERSION [default: %s]") %
program_version,
metavar=_ ('VERSION'),
action='store',
dest="to_version",
default='')
+
+ p.add_option ('-b', '--backup-numbered',
+ help=_ ("make a numbered backup [default: filename.ext~]"),
+ action='store_true',
+ dest="backup_numbered",
+ default='')
+
p.add_option ('-w', '--warranty', help=_ ("show warranty and
copyright"),
action='store_true',
),
@@ -152,8 +160,6 @@ def get_option_parser ():
return p
-
-
def str_to_tuple (s):
return tuple ([int(n) for n in s.split ('.')])
@@ -208,8 +214,6 @@ string."""
return (last_conversion, str, errors)
-
-
def guess_lilypond_version (input):
m = lilypond_version_strict_re.search (input)
if m:
@@ -230,6 +234,18 @@ class InvalidVersion (Exception):
def __init__ (self, version):
self.version = version
+def back_up(file, numbered):
+ back_up = file
+ if numbered:
+ n = 0
+ while os.path.exists(back_up) and os.path.isfile(back_up):
+ n = n + 1
+ back_up = file + '.' + str(n) + '~'
+ else:
+ back_up = file + '~'
+ shutil.copy2(file, back_up)
+ return back_up
+
def do_one_file (infile_name):
ly.progress (_ (u"Processing `%s\'... ") % infile_name, True)
@@ -258,7 +274,6 @@ def do_one_file (infile_name):
if len (from_version) != 3:
raise InvalidVersion (".".join ([str(n) for n in from_version]))
-
(last, result, errors) = do_conversion (input, from_version,
to_version)
if global_options.force_current_version and \
@@ -287,11 +302,7 @@ def do_one_file (infile_name):
ly.progress ('\n')
if global_options.edit:
- try:
- os.remove (infile_name + '~')
- except:
- pass
- os.rename (infile_name, infile_name + '~')
+ backup = back_up(infile_name, global_options.backup_numbered)
outfile = open (infile_name, 'w')
else:
outfile = sys.stdout
@@ -363,5 +374,4 @@ def main ():
"There were %d errors.", errors) % errors)
sys.exit (1)
-
main ()
- Add backup option to convert-ly (Issue 3572) (issue 14040043),
PhilEHolmes <=
- Re: Add backup option to convert-ly (Issue 3572) (issue 14040043), julien . rioux, 2013/09/27
- Re: Add backup option to convert-ly (Issue 3572) (issue 14040043), PhilEHolmes, 2013/09/28
- Re: Add backup option to convert-ly (Issue 3572) (issue 14040043), ianhulin44, 2013/09/28
- Re: Add backup option to convert-ly (Issue 3572) (issue 14040043), dak, 2013/09/29
- Re: Add backup option to convert-ly (Issue 3572) (issue 14040043), dak, 2013/09/29
- Re: Add backup option to convert-ly (Issue 3572) (issue 14040043), julien . rioux, 2013/09/30
- Re: Add backup option to convert-ly (Issue 3572) (issue 14040043), PhilEHolmes, 2013/09/30
- Re: Add backup option to convert-ly (Issue 3572) (issue 14040043), dak, 2013/09/30