1 from __future__
import absolute_import
2 from __future__
import print_function
3 from simulation
import cancel_simulation
, delete_simulation
, delete_simulation_files
, load_simulations
, cleanup_sim_output
, cleanup_sim_workspace
7 from utils
import load_sys_cfg
10 sims_path
= conf
['sims_path']
12 def cleanup_delete(sim_id
):
13 simulations
= load_simulations(sims_path
)
15 logging
.info('Deleting simulation %s' % sim_id
)
16 sim_info
= simulations
[sim_id
]
17 delete_simulation(sim_info
,conf
)
19 logging
.error('Simulation %s not found.' % sim_id
)
20 delete_simulation_files(sim_id
,conf
) # rm any stray files
22 def cleanup_cancel(sim_id
):
23 simulations
= load_simulations(sims_path
)
25 logging
.info('Canceling simulation %s' % sim_id
)
26 sim_info
= simulations
[sim_id
]
27 cancel_simulation(sim_info
,conf
)
29 logging
.error('Simulation %s not found.' % sim_id
)
31 def cleanup_output(sim_id
):
32 simulations
= load_simulations(sims_path
)
34 logging
.info('Cleanup output for %s' % sim_id
)
35 sim_info
= simulations
[sim_id
]
36 cleanup_sim_output(sim_info
,conf
)
38 logging
.error('Simulation %s not found.' % sim_id
)
40 def cleanup_workspace(sim_id
):
41 simulations
= load_simulations(sims_path
)
43 logging
.info('Cleanup workspace for %s' % sim_id
)
44 sim_info
= simulations
[sim_id
]
45 cleanup_sim_workspace(sim_info
,conf
)
47 logging
.error('Simulation %s not found.' % sim_id
)
50 simulations
= load_simulations(sims_path
)
51 print('%-30s desc' % 'id')
53 for k
in sorted(simulations
):
54 print('%-30s %s' % (k
, simulations
[k
]['description']))
56 if __name__
== '__main__':
59 print('usage: %s [list|delete <name>' % sys
.argv
[0])
62 logging
.basicConfig(level
=logging
.INFO
, format
='%(asctime)s - %(levelname)s - %(message)s')
64 if sys
.argv
[1] == 'delete':
66 cleanup_delete(sim_id
)
67 elif sys
.argv
[1] == 'cancel':
69 cleanup_cancel(sim_id
)
70 elif sys
.argv
[1] == 'output':
72 cleanup_output(sim_id
)
73 elif sys
.argv
[1] == 'workspace':
75 cleanup_workspace(sim_id
)
76 elif sys
.argv
[1] == 'list':
79 logging
.error('command line not understood %s' % sys
.argv
)