X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scripts%2Fbuild%2Fpytt.py;h=8aee66b6c3d3596aa28daa26b038a7e9db686717;hb=a2110010adba1106bcd6e79e165308dd474df405;hp=09f5c7b1f61ea4d9ce92438ad989e11282c0d2bd;hpb=d31f8b518f7b5f04e7c332e001b1e31c23c39021;p=lilypond.git diff --git a/scripts/build/pytt.py b/scripts/build/pytt.py old mode 100644 new mode 100755 index 09f5c7b1f6..8aee66b6c3 --- a/scripts/build/pytt.py +++ b/scripts/build/pytt.py @@ -1,24 +1,54 @@ -#!@PYTHON@ +#! /usr/bin/python + +''' + Copyright (c) 2008--2009 + Jan Nieuwenhuizen + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + 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., 675 Mass Ave, Cambridge, MA 02139, USA. +''' import os import re +import stat import sys -frm = re.compile (sys.argv[1], re.MULTILINE) -to = sys.argv[2] - -if not sys.argv[3:] or sys.argv[3] == '-': - sys.stdout.write (re.sub (frm, to, sys.stdin.read ())) -for file in sys.argv[3:]: - s = open (file).read () - name = os.path.basename (file) - base, ext = os.path.splitext (name) - t = re.sub (frm, to % locals (), s) - if s != t: - if 1: - os.system ('mv %(file)s %(file)s~~' % locals ()) - h = open (file, "w") - h.write (t) - h.close () - else: - sys.stdout.write (t) +dry_run = False + +def pytt (from_re, to, file_name): + s = file (file_name).read () + name = os.path.basename (file_name) + base, ext = os.path.splitext (name) + t = re.sub (from_re, to % locals (), s) + if s != t: + if dry_run: + sys.stdout.write (t) + else: + stat_info = os.stat (file_name) + mode = stat.S_IMODE (stat_info[stat.ST_MODE]) + os.system ('mv --backup=t %(file_name)s %(file_name)s~' % locals ()) + file (file_name, 'w').write (t) + os.chmod (file_name, mode) + +def main (): + from_re = re.compile (sys.argv[1], re.MULTILINE) + to = sys.argv[2] + if not sys.argv[3:] or sys.argv[3] == '-': + sys.stdout.write (re.sub (from_re, to, sys.stdin.read ())) + else: + for f in sys.argv[3:]: + pytt (from_re, to, f) + +if __name__ == '__main__': + main ()