Skip to content
Snippets Groups Projects
Commit f74c85cd authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

start new tool normalize-usercode.py

parent 451fbb99
No related branches found
No related tags found
No related merge requests found
#!/usr/bin/env python3
"""
Reads a BornAgain simulation script, and converts into normal form.
Export to normal form is done by BornAgain's ExportToPython function.
"""
import argparse
import bornagain as ba
def normalize_script(fname, inplace):
with open(fname, 'rb') as f:
ti = f.read()
c=compile(ti, fname, 'exec')
ns = {}
exec(c,ns)
globals().update(ns)
s = get_simulation()
s.setSample(get_sample())
t = ba.generatePyExportTest(s)
if t == ti:
print(f'Nothing changed in file {fname}')
return
if inplace:
with open(fname, 'w') as f:
f.write(t)
else:
print(t)
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument("simulation_script", type=str)
parser.add_argument("-i", "--in-place", action="store_true")
args = parser.parse_args()
normalize_script(args.simulation_script, args.in_place)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment