diff options
Diffstat (limited to 'catapult/devil/devil/utils/host_utils.py')
-rw-r--r-- | catapult/devil/devil/utils/host_utils.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/catapult/devil/devil/utils/host_utils.py b/catapult/devil/devil/utils/host_utils.py index 580721f1..6c337cf7 100644 --- a/catapult/devil/devil/utils/host_utils.py +++ b/catapult/devil/devil/utils/host_utils.py @@ -2,15 +2,22 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import logging import os def GetRecursiveDiskUsage(path): """Returns the disk usage in bytes of |path|. Similar to `du -sb |path|`.""" - running_size = os.path.getsize(path) + def get_size(filepath): + try: + return os.path.getsize(filepath) + except OSError: + logging.warning('File or directory no longer found: %s', filepath) + return 0 + + running_size = get_size(path) if os.path.isdir(path): for root, dirs, files in os.walk(path): - running_size += sum([os.path.getsize(os.path.join(root, f)) + running_size += sum([get_size(os.path.join(root, f)) for f in files + dirs]) return running_size - |