diff --git a/site_ansto/instrument/util/gen_sct.py b/site_ansto/instrument/util/gen_sct.py index 07c241d0..8e651665 100755 --- a/site_ansto/instrument/util/gen_sct.py +++ b/site_ansto/instrument/util/gen_sct.py @@ -637,6 +637,36 @@ def make_path(MyVar): path += MyVar['name'] return path +def generate_filename(MyDriver): + global args + old_name = "sct_%s.tcl" % MyDriver['name'] + new_name = "%s_sct.tcl" % MyDriver['name'] + if 'PathName' in MyDriver: + full_old_name = os.path.join(MyDriver['PathName'], old_name) + full_new_name = os.path.join(MyDriver['PathName'], new_name) + else: + full_old_name = old_name + full_new_name = new_name + + # This block of code generates shell commands to help the old->new rename + if Move: + fd = open("git_mv.sh", "a") + fd.write( "git mv " + full_old_name + " " + full_new_name + "\n") + fd.close() + fd = open("grep_sed.sh", "a") + fd.write( "for f in $(grep " + old_name + " instrument -Irl" + "); do\n") + fd.write( " echo ${f}\n") + fd.write( " sed -i ${f} -e 's/" + old_name + "/" + new_name + "/'\n") + fd.write( "done\n") + fd.close() + + if args.sct == "before": + MyDriver['filename'] = old_name + MyDriver['fullname'] = full_old_name + else: + MyDriver['filename'] = new_name + MyDriver['fullname'] = full_new_name + def parse_args(arg_str): ''' Parse the TCL argument string into a list of identifiers (in order) plus @@ -1714,8 +1744,8 @@ def put_postamble(MyDriver): txt += [line] txt += ['}'] txt += [''] - txt += ['clientput "file evaluation of sct_%s.tcl"' % MyDriver['name']] - txt += ['%s::sics_log 9 "file evaluation of sct_%s.tcl"' % (MyDriver['namespace'], MyDriver['name'])] + txt += ['clientput "file evaluation of %s"' % MyDriver['filename']] + txt += ['%s::sics_log 9 "file evaluation of %s"' % (MyDriver['namespace'], MyDriver['filename'])] emit(txt) def put_read_config(MyDriver): @@ -1897,16 +1927,8 @@ def generate_driver(MyDriver): global NumberOfLinesOut global fdo NumberOfLinesOut = 0 - old_name = "sct_%s.tcl" % MyDriver['name'] - new_name = "%s_sct.tcl" % MyDriver['name'] - if 'PathName' in MyDriver: - full_old_name = os.path.join(MyDriver['PathName'], old_name) - full_new_name = os.path.join(MyDriver['PathName'], new_name) - else: - full_old_name = old_name - full_new_name = new_name - fdo = open(full_new_name, 'w') - MyDriver['filename'] = new_name + generate_filename(MyDriver) + fdo = open(MyDriver['fullname'], 'w') put_preamble(MyDriver) put_standard_code(MyDriver) put_mkDriver(MyDriver) @@ -1924,17 +1946,6 @@ def generate_driver(MyDriver): if Verbose: print "Produced file %s with %d lines." % \ ( MyDriver['filename'], NumberOfLinesOut) - # This block of code generates shell commands to help the old->new rename - if Move: - fd = open("git_mv.sh", "a") - fd.write( "git mv " + full_old_name + " " + full_new_name + "\n") - fd.close() - fd = open("grep_sed.sh", "a") - fd.write( "for f in $(grep " + old_name + " instrument -Irl" + "); do\n") - fd.write( " echo ${f}\n") - fd.write( " sed -i ${f} -e 's/" + old_name + "/" + new_name + "/'\n") - fd.write( "done\n") - fd.close() def process_drivers(TheDrivers): if Verbose: @@ -2075,6 +2086,8 @@ def main(): action="store_true") parser.add_argument("-m", "--move", help="generate move commands", action="store_true") + parser.add_argument("--sct", help="where to put the sct in the filename", + choices=["before", "after"], default="after") parser.add_argument("-v", "--verbose", help="verbose output", action="store_true") parser.add_argument("driver_source", help="driver source file", nargs="*")