Merge pull request #2 from yang/ignore-broken-symlinks

Ignore broken symlinks/files that disappear
This commit is contained in:
Łukasz Langa 2013-10-19 13:00:04 -07:00
commit f0e2d61fc3

View File

@ -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)