mirror of
https://github.com/python/cpython.git
synced 2025-12-04 08:34:25 +00:00
simplify and modernize updatecache()
This commit is contained in:
parent
b9e7c01294
commit
26da187193
1 changed files with 10 additions and 12 deletions
|
|
@ -72,13 +72,13 @@ def updatecache(filename, module_globals=None):
|
|||
|
||||
if filename in cache:
|
||||
del cache[filename]
|
||||
if not filename or filename[0] + filename[-1] == '<>':
|
||||
if not filename or (filename.startswith('<') and filename.endswith('>')):
|
||||
return []
|
||||
|
||||
fullname = filename
|
||||
try:
|
||||
stat = os.stat(fullname)
|
||||
except os.error, msg:
|
||||
except OSError:
|
||||
basename = filename
|
||||
|
||||
# Try for a __loader__, if available
|
||||
|
|
@ -115,20 +115,18 @@ def updatecache(filename, module_globals=None):
|
|||
fullname = os.path.join(dirname, basename)
|
||||
except (TypeError, AttributeError):
|
||||
# Not sufficiently string-like to do anything useful with.
|
||||
continue
|
||||
try:
|
||||
stat = os.stat(fullname)
|
||||
break
|
||||
except os.error:
|
||||
pass
|
||||
else:
|
||||
try:
|
||||
stat = os.stat(fullname)
|
||||
break
|
||||
except os.error:
|
||||
pass
|
||||
else:
|
||||
return []
|
||||
try:
|
||||
fp = open(fullname, 'rU')
|
||||
lines = fp.readlines()
|
||||
fp.close()
|
||||
except IOError, msg:
|
||||
with open(fullname, 'rU') as fp:
|
||||
lines = fp.readlines()
|
||||
except IOError:
|
||||
return []
|
||||
if lines and not lines[-1].endswith('\n'):
|
||||
lines[-1] += '\n'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue