Merged revisions 78971-78972 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78971 | benjamin.peterson | 2010-03-14 22:00:35 -0500 (Sun, 14 Mar 2010) | 1 line

  remove mac 9 code
........
  r78972 | benjamin.peterson | 2010-03-14 22:02:37 -0500 (Sun, 14 Mar 2010) | 1 line

  clean up files correctly
........
This commit is contained in:
Benjamin Peterson 2010-03-18 21:58:43 +00:00
parent cb6dbe5790
commit 32ca4547a4

View file

@ -62,15 +62,6 @@ class PyCompileError(Exception):
return self.msg return self.msg
# Define an internal helper according to the platform
if os.name == "mac":
import MacOS
def set_creator_type(file):
MacOS.SetCreatorAndType(file, 'Pyth', 'PYC ')
else:
def set_creator_type(file):
pass
def wr_long(f, x): def wr_long(f, x):
"""Internal; write a 32-bit int to a file in little-endian order.""" """Internal; write a 32-bit int to a file in little-endian order."""
f.write(bytes([x & 0xff, f.write(bytes([x & 0xff,
@ -129,13 +120,12 @@ def compile(file, cfile=None, dfile=None, doraise=False):
""" """
encoding = read_encoding(file, "utf-8") encoding = read_encoding(file, "utf-8")
f = open(file, 'U', encoding=encoding) with open(file, encoding=encoding) as f:
try: try:
timestamp = int(os.fstat(f.fileno()).st_mtime) timestamp = int(os.fstat(f.fileno()).st_mtime)
except AttributeError: except AttributeError:
timestamp = int(os.stat(file).st_mtime) timestamp = int(os.stat(file).st_mtime)
codestring = f.read() codestring = f.read()
f.close()
if codestring and codestring[-1] != '\n': if codestring and codestring[-1] != '\n':
codestring = codestring + '\n' codestring = codestring + '\n'
try: try:
@ -149,15 +139,13 @@ def compile(file, cfile=None, dfile=None, doraise=False):
return return
if cfile is None: if cfile is None:
cfile = file + (__debug__ and 'c' or 'o') cfile = file + (__debug__ and 'c' or 'o')
fc = open(cfile, 'wb') with open(cfile, 'wb') as fc:
fc.write(b'\0\0\0\0') fc.write(b'\0\0\0\0')
wr_long(fc, timestamp) wr_long(fc, timestamp)
marshal.dump(codeobject, fc) marshal.dump(codeobject, fc)
fc.flush() fc.flush()
fc.seek(0, 0) fc.seek(0, 0)
fc.write(MAGIC) fc.write(MAGIC)
fc.close()
set_creator_type(cfile)
def main(args=None): def main(args=None):
"""Compile several source files. """Compile several source files.