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 | 
