Merge pull request #2 from yang/ignore-broken-symlinks
Ignore broken symlinks/files that disappear
This commit is contained in:
commit
f0e2d61fc3
@ -29,6 +29,7 @@ from __future__ import unicode_literals
|
|||||||
import argparse
|
import argparse
|
||||||
import atexit
|
import atexit
|
||||||
import datetime
|
import datetime
|
||||||
|
import errno
|
||||||
import hashlib
|
import hashlib
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
@ -101,11 +102,16 @@ def run(verbosity=1, test=False):
|
|||||||
for path, _, files in os.walk(current_dir):
|
for path, _, files in os.walk(current_dir):
|
||||||
for f in files:
|
for f in files:
|
||||||
p = os.path.join(path, f)
|
p = os.path.join(path, f)
|
||||||
st = os.stat(p)
|
try:
|
||||||
if not stat.S_ISREG(st.st_mode) or p == bitrot_db:
|
st = os.stat(p)
|
||||||
continue
|
except OSError as ex:
|
||||||
paths.append(p)
|
if ex.errno != errno.ENOENT:
|
||||||
total_size += st.st_size
|
raise
|
||||||
|
else:
|
||||||
|
if not stat.S_ISREG(st.st_mode) or p == bitrot_db:
|
||||||
|
continue
|
||||||
|
paths.append(p)
|
||||||
|
total_size += st.st_size
|
||||||
paths.sort()
|
paths.sort()
|
||||||
for p in paths:
|
for p in paths:
|
||||||
st = os.stat(p)
|
st = os.stat(p)
|
||||||
|
Reference in New Issue
Block a user