Mercurial > hg > MakeItSo
comparison makeitso/makeitso.py @ 94:b6a46332cced
allow Polytemplates to take template objects
| author | Jeff Hammel <jhammel@mozilla.com> |
|---|---|
| date | Tue, 11 Jan 2011 07:33:59 -0800 |
| parents | d5da38fabdf7 |
| children | 80a57bf2b7f4 |
comparison
equal
deleted
inserted
replaced
| 93:d5da38fabdf7 | 94:b6a46332cced |
|---|---|
| 322 """template for several files/directories""" | 322 """template for several files/directories""" |
| 323 | 323 |
| 324 def __init__(self, templates, interactive=True, variables=None): | 324 def __init__(self, templates, interactive=True, variables=None): |
| 325 | 325 |
| 326 self.interactive = interactive | 326 self.interactive = interactive |
| 327 self._templates = templates[:] | |
| 328 self.templates = [] | 327 self.templates = [] |
| 329 for template in templates: | 328 for template in templates: |
| 330 # TODO: check if the template is a [e.g] PasteScript.template entry point | 329 if isinstance(template, basestring): |
| 331 if os.path.isdir(template): | 330 # TODO: check if the template is a [e.g] PasteScript.template entry point |
| 332 self.templates.append(DirectoryTemplate(template, interactive=self.interactive, variables=variables)) | 331 if os.path.isdir(template): |
| 332 self.templates.append(DirectoryTemplate(template, interactive=self.interactive, variables=variables)) | |
| 333 else: | |
| 334 self.templates.append(URITemplate(template, interactive=self.interactive, variables=variables)) | |
| 333 else: | 335 else: |
| 334 self.templates.append(URITemplate(template, interactive=self.interactive, variables=variables)) | 336 # assume the template is an object that conforms to the API |
| 337 self.templates.append(template) | |
| 335 | 338 |
| 336 def missing(self, **variables): | 339 def missing(self, **variables): |
| 337 vars = variables.copy() | 340 vars = variables.copy() |
| 338 missing = set([]) | 341 missing = set([]) |
| 339 for template in self.templates: | 342 for template in self.templates: |
