Mercurial > hg > Lemuriformes
comparison lemuriformes/waiter.py @ 17:4793f99b73e0
[lemuriformes] utility functions
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Sun, 10 Dec 2017 17:42:52 -0800 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
16:9b1bb9eee962 | 17:4793f99b73e0 |
---|---|
1 """ | |
2 interpolate (etc) bash waiter script for subcommand parallelism | |
3 """ | |
4 | |
5 import os | |
6 import tempita | |
7 | |
8 here = os.path.dirname(os.path.abspath(__file__)) | |
9 | |
10 class BashWaiter(object): | |
11 | |
12 template_path = os.path.join(here, 'waiter.sh') | |
13 | |
14 def __init__(self, *commands): | |
15 assert os.path.exists(self.template_path) | |
16 self.template = tempita.Template.from_filename(self.template_path) | |
17 | |
18 self.commands = [] | |
19 for command in commands: | |
20 self.add(command) | |
21 | |
22 def add(self, command): | |
23 self.commands.append(command) | |
24 | |
25 | |
26 def __str__(self): | |
27 """render the template""" | |
28 variables = {'commands': self.commands} | |
29 return self.template.substitute(**variables) | |
30 |