Mercurial > hg > MakeItSo
comparison makeitso/template.py @ 159:cfd4f1e91090
wip
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Tue, 30 Jul 2013 15:20:38 -0700 |
parents | b2152efec89a |
children | f10f5beb8ad1 |
comparison
equal
deleted
inserted
replaced
158:ff1f41a18da9 | 159:cfd4f1e91090 |
---|---|
14 Undefined = Undefined() # singleton | 14 Undefined = Undefined() # singleton |
15 | 15 |
16 | 16 |
17 class Variable(object): | 17 class Variable(object): |
18 """variable object for MakeItSo templates""" | 18 """variable object for MakeItSo templates""" |
19 | 19 |
20 def __init__(self, name, description=None, default=Undefined, | 20 def __init__(self, name, description=None, default=Undefined, |
21 cast=None): | 21 cast=None): |
22 self.name = name | 22 self.name = name |
23 self.default = default | 23 self.default = default |
24 self.description = description | 24 self.description = description |
114 self.vardict[i.name] = i | 114 self.vardict[i.name] = i |
115 | 115 |
116 # ensure all of these templates exist | 116 # ensure all of these templates exist |
117 self._templates = [] | 117 self._templates = [] |
118 for template in self.templates: | 118 for template in self.templates: |
119 if not isinstance(template, basestring): | |
120 template = os.path.join(*template) | |
119 if template.startswith('http://') or template.startswith('https://'): | 121 if template.startswith('http://') or template.startswith('https://'): |
120 self._templates.append(template) | 122 self._templates.append(template) |
121 continue | 123 continue |
122 if os.path.isabs(template): | 124 if os.path.isabs(template): |
123 path = template | 125 path = template |
190 # do whatever you need to do afterwards | 192 # do whatever you need to do afterwards |
191 self.post(vars, output) | 193 self.post(vars, output) |
192 | 194 |
193 def post(self, variables, output): | 195 def post(self, variables, output): |
194 """do stuff after interpolation""" | 196 """do stuff after interpolation""" |
195 | 197 |
196 def read_variables(self, variables): | 198 def read_variables(self, variables): |
197 """read variables from stdin""" | 199 """read variables from stdin""" |
198 retval = {} | 200 retval = {} |
199 for i in variables: | 201 for i in variables: |
200 if i in self.vardict: | 202 if i in self.vardict: |