Skip to content
Snippets Groups Projects
Commit 34be8643 authored by Mikhail Karnevskiy's avatar Mikhail Karnevskiy
Browse files

Use template for latex table

parent 0a92c1c1
No related branches found
No related tags found
1 merge request!69Feat: Add timing table for all slurm jobs in report
......@@ -107,52 +107,38 @@ def make_timing_summary(run_path, joblist):
:param run_path: Run path of the slurm job
:param joblist: List of slurm jobs
"""
print('Prepare timing summary')
run_path = os.path.abspath(run_path)
pars_vals = []
pars = 'JobID,Elapsed,Suspended'
pars_name = pars.split(',')
for job in joblist:
print('Summary for job {}'.format(job))
out = check_output(['sacct', '-j', job,
'--format={}'.format(pars)],
shell=False)
l = str(out).split('\\n')
print (l)
for line in l[2:]:
s = line.split()
if len(s)==len(pars_name):
if len(s) == len(pars_name):
pars_vals.append(s)
print(s)
break
tmpl = Template('''
Timing summary
==============
.. math::
{% for line in table %}
{{ line }}
{%- endfor %}
''')
import tabulate
with open("{}/timing_summary.rst".format(run_path), "w+") as gfile:
gfile.write('Timing summary\n')
gfile.write('==============\n\n')
gfile.write('.. math::\n')
gfile.write(' \\begin{tabular}{ccc}\n')
gfile.write(' \\hline\n')
gfile.write(' ')
for i in range(len(pars_name)):
gfile.write(pars_name[i])
if i<len(pars_name)-1:
gfile.write(' & ')
else:
gfile.write(' \\\\ \n')
gfile.write(' \\hline\n')
for pars_val in pars_vals:
gfile.write(' ')
for i in range(len(pars_name)):
gfile.write(pars_val[i])
if i < len(pars_name) - 1:
gfile.write(' & ')
else:
gfile.write(' \\\\ \n')
gfile.write(' \\hline\n')
gfile.write(' \\end{tabular}\n')
table = tabulate.tabulate(pars_vals, tablefmt='latex',
headers=pars_name)
gfile.write(textwrap.dedent(tmpl.render(table=table.split('\n'))))
def make_report(run_path, tmp_path, out_path, project, author, version, report_to):
......
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