Mercurial > hg > MakeItSo
comparison makeitso/makeitso.py @ 268:64979cfff465 default tip
some py3 fixes
| author | Jeff Hammel <k0scist@gmail.com> |
|---|---|
| date | Tue, 29 May 2018 15:28:41 -0700 |
| parents | 7e3a32f2794a |
| children |
comparison
equal
deleted
inserted
replaced
| 267:7e3a32f2794a | 268:64979cfff465 |
|---|---|
| 14 import sys | 14 import sys |
| 15 import tempfile | 15 import tempfile |
| 16 import urllib | 16 import urllib |
| 17 # TODO: may have to use urllib2.urlopen to get reasonable timeouts | 17 # TODO: may have to use urllib2.urlopen to get reasonable timeouts |
| 18 | 18 |
| 19 from ConfigParser import RawConfigParser | 19 try: |
| 20 # python 2 | |
| 21 from ConfigParser import RawConfigParser | |
| 22 except ImportError: | |
| 23 # python 3 | |
| 24 from configparser import RawConfigParser | |
| 25 | |
| 26 try: | |
| 27 # python 2 | |
| 28 string = (unicode, str) | |
| 29 except NameError: | |
| 30 # python 3 | |
| 31 string = (str,) | |
| 32 | |
| 33 | |
| 20 from optparse import OptionParser | 34 from optparse import OptionParser |
| 21 | 35 |
| 22 # URL of -this file- | 36 # URL of -this file- |
| 23 location = 'http://k0s.org/mozilla/hg/MakeItSo/raw-file/tip/makeitso/makeitso.py' | 37 location = 'http://k0s.org/mozilla/hg/MakeItSo/raw-file/tip/makeitso/makeitso.py' |
| 24 | 38 |
| 212 # interpolate | 226 # interpolate |
| 213 content = ContentTemplate.substitute(self, **variables) | 227 content = ContentTemplate.substitute(self, **variables) |
| 214 | 228 |
| 215 # write output | 229 # write output |
| 216 output = output or sys.stdout | 230 output = output or sys.stdout |
| 217 if isinstance(output, basestring): | 231 if isinstance(output, string): |
| 218 path = output | 232 path = output |
| 219 if os.path.isdir(output): | 233 if os.path.isdir(output): |
| 220 path = os.path.join(path, basename(self.name)) | 234 path = os.path.join(path, basename(self.name)) |
| 221 f = file(path, 'w') | 235 f = file(path, 'w') |
| 222 print >> f, content | 236 print >> f, content |
| 327 def __init__(self, templates, interactive=True, variables=None): | 341 def __init__(self, templates, interactive=True, variables=None): |
| 328 self.interactive = interactive | 342 self.interactive = interactive |
| 329 self.templates = [] | 343 self.templates = [] |
| 330 entry_points = get_entry_points() | 344 entry_points = get_entry_points() |
| 331 for template in templates: | 345 for template in templates: |
| 332 if isinstance(template, basestring): | 346 if isinstance(template, string): |
| 333 # TODO: check if the template is a [e.g] PasteScript.template entry point | 347 # TODO: check if the template is a [e.g] PasteScript.template entry point |
| 334 if os.path.isdir(template): | 348 if os.path.isdir(template): |
| 335 self.templates.append(DirectoryTemplate(template, interactive=self.interactive, variables=variables)) | 349 self.templates.append(DirectoryTemplate(template, interactive=self.interactive, variables=variables)) |
| 336 elif not os.path.exists(template) and template in entry_points: | 350 elif not os.path.exists(template) and template in entry_points: |
| 337 self.templates.append(entry_points[template](interactive=interactive, variables=variables)) | 351 self.templates.append(entry_points[template](interactive=interactive, variables=variables)) |
| 355 missing.update(missed) | 369 missing.update(missed) |
| 356 vars.update(dict([(i, '') for i in missed])) | 370 vars.update(dict([(i, '') for i in missed])) |
| 357 return missing | 371 return missing |
| 358 | 372 |
| 359 def check_output(self, output): | 373 def check_output(self, output): |
| 360 if output and isinstance(output, basestring) and os.path.exists(output) and len(self.templates) > 1: | 374 if output and isinstance(output, string) and os.path.exists(output) and len(self.templates) > 1: |
| 361 assert os.path.isdir(output), "Must specify a directory for multiple templates" | 375 assert os.path.isdir(output), "Must specify a directory for multiple templates" |
| 362 for template in self.templates: | 376 for template in self.templates: |
| 363 if hasattr(template, 'check_output'): | 377 if hasattr(template, 'check_output'): |
| 364 template.check_output(output) | 378 template.check_output(output) |
| 365 | 379 |
