Changeset 478
- Timestamp:
- Wed Jul 23 13:33:26 2008
- Files:
-
- trunk/Build.py (modified) (diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
trunk/Build.py
r475 r478 42 42 iswin = sys.platform[:3] == 'win' 43 43 cygwin = sys.platform == 'cygwin' 44 45 def _save_data(filename, data): 46 outf = open(filename, 'w') 47 pprint.pprint(data, outf) 48 outf.close() 49 50 def _load_data(filename): 51 return eval(open(filename, 'r').read()) 52 44 53 try: 45 config = eval(open(os.path.join(HOMEPATH, 'config.dat'), 'r').read())54 config = _load_data(os.path.join(HOMEPATH, 'config.dat')) 45 54 except IOError: 46 55 print "You must run Configure.py before building!" … … 72 81 def build(spec): 73 82 global SPECPATH, BUILDPATH, WARNFILE, rthooks 74 rthooks = eval(open(os.path.join(HOMEPATH, 'rthooks.dat'), 'r').read())83 rthooks = _load_data(os.path.join(HOMEPATH, 'rthooks.dat')) 74 83 SPECPATH, specnm = os.path.split(spec) 75 84 specnm = os.path.splitext(specnm)[0] … … 139 148 return True 140 149 try: 141 inputs, pathex, hookspath, excludes, scripts, pure, binaries = eval(open(self.out, 'r').read())150 inputs, pathex, hookspath, excludes, scripts, pure, binaries = _load_data(self.out) 141 150 except: 142 151 print "building because %s disappeared" % outnm … … 239 248 self.zipfiles = TOC(zipfiles) 240 249 try: # read .toc 241 oldstuff = eval(open(self.out, 'r').read())250 oldstuff = _load_data(self.out) 241 250 except: 242 251 oldstuff = None 243 252 # todo: add zipfiles 244 if oldstuff != (self.inputs, self.pathex, self.hookspath, self.excludes, scripts, pure, binaries): 245 outf = open(self.out, 'w') 246 pprint.pprint( 247 (self.inputs, self.pathex, self.hookspath, self.excludes, self.scripts, self.pure, self.binaries), 248 outf) 249 outf.close() 253 newstuff = (self.inputs, self.pathex, self.hookspath, self.excludes, 254 self.scripts, self.pure, self.binaries) 255 if oldstuff != newstuff: 256 _save_data(self.out, newstuff) 250 257 wf = open(WARNFILE, 'w') 251 258 for ln in analyzer.getwarnings(): … … 315 322 return 1 316 323 try: 317 name, level, toc = eval(open(self.out, 'r').read())324 name, level, toc = _load_data(self.out) 317 324 except: 318 325 print "rebuilding %s because missing" % outnm … … 345 352 py_compile.compile(fnm[:-1]) 346 353 pyz.build(self.name, toc) 347 outf = open(self.out, 'w') 348 pprint.pprint((self.name, self.level, self.toc), outf) 349 outf.close() 354 _save_data(self.out, (self.name, self.level, self.toc)) 350 355 return 1 351 356 … … 375 380 cacheindexfn = os.path.join(cachedir, "index.dat") 376 381 if os.path.exists(cacheindexfn): 377 cache_index = eval(open(cacheindexfn, "r").read())382 cache_index = _load_data(cacheindexfn) 377 382 else: 378 383 cache_index = {} … … 405 410 # update cache index 406 411 cache_index[basenm] = digest 407 outf = open(cacheindexfn, 'w') 408 pprint.pprint(cache_index, outf) 409 outf.close() 412 _save_data(cacheindexfn, cache_index) 410 413 411 414 return cachedfile … … 451 454 return 1 452 455 try: 453 name, cdict, toc, exclude_binaries, strip_binaries, upx_binaries = eval(open(self.out, 'r').read())456 name, cdict, toc, exclude_binaries, strip_binaries, upx_binaries = _load_data(self.out) 453 456 except: 454 457 print "rebuilding %s because %s is missing" % (outnm, outnm) … … 513 516 archive = carchive.CArchive() 514 517 archive.build(self.name, mytoc) 515 outf = open(self.out, 'w') 516 pprint.pprint((self.name, self.cdict, self.toc, self.exclude_binaries, self.strip_binaries, self.upx_binaries), outf) 517 outf.close() 518 _save_data(self.out, 519 (self.name, self.cdict, self.toc, self.exclude_binaries, 520 self.strip_binaries, self.upx_binaries)) 518 521 for item in trash: 519 522 os.remove(item) … … 567 570 return 1 568 571 try: 569 name, console, debug, icon, versrsrc, strip, upx, mtm = eval(open(self.out, 'r').read())572 name, console, debug, icon, versrsrc, strip, upx, mtm = _load_data(self.out) 569 572 except: 570 573 print "rebuilding %s because %s missing or bad" % (outnm, outnm) … … 649 652 outf.close() 650 653 os.chmod(self.name, 0755) 651 f = open(self.out, 'w') 652 pprint.pprint((self.name, self.console, self.debug, self.icon, self.versrsrc, 653 self.strip, self.upx, mtime(self.name)), f) 654 f.close() 654 _save_data(self.out, 655 (self.name, self.console, self.debug, self.icon, 656 self.versrsrc, self.strip, self.upx, mtime(self.name))) 655 657 for item in trash: 656 658 os.remove(item) … … 674 676 outf.close() 675 677 os.chmod(self.name, 0755) 676 f = open(self.out, 'w') 677 pprint.pprint((self.name, self.console, self.debug, self.icon, self.versrsrc, 678 self.strip, self.upx, mtime(self.name)), f) 679 f.close() 678 _save_data(self.out, 679 (self.name, self.console, self.debug, self.icon, 680 self.versrsrc, self.strip, self.upx, mtime(self.name))) 680 681 return 1 681 682 … … 709 710 outnm = os.path.basename(self.out) 710 711 try: 711 name, strip_binaries, upx_binaries, toc = eval(open(self.out, 'r').read())712 name, strip_binaries, upx_binaries, toc = _load_data(self.out) 711 712 except: 712 713 print "building %s because %s missing" % (outnm, outnm) … … 761 762 if typ in ('EXTENSION', 'BINARY'): 762 763 os.chmod(tofnm, 0755) 763 f = open(self.out, 'w') 764 pprint.pprint((self.name, self.strip_binaries, self.upx_binaries, self.toc), f) 765 f.close() 764 _save_data(self.out, 765 (self.name, self.strip_binaries, self.upx_binaries, self.toc)) 766 766 return 1 767 767 … … 842 842 outnm = os.path.basename(self.out) 843 843 try: 844 root, prefix, excludes, toc = eval(open(self.out, 'r').read())844 root, prefix, excludes, toc = _load_data(self.out) 844 844 except: 845 845 print "building %s because %s is missing / bad" % (outnm, outnm) … … 891 891 rslt.append((rfnm, fullfnm, 'DATA')) 892 892 try: 893 oldstuff = eval(open(self.out, 'r').read())893 oldstuff = _load_data(self.out) 893 893 except: 894 894 oldstuff = None 895 if oldstuff != (self.root, self.prefix, self.excludes, rslt): 896 outf = open(self.out, 'w') 897 pprint.pprint((self.root, self.prefix, self.excludes, rslt), outf) 898 outf.close() 895 newstuff = (self.root, self.prefix, self.excludes, rslt) 896 if oldstuff != newstuff: 897 _save_data(self.out, newstuff) 899 898 self.data = rslt 900 899 return 1
