1234567891011121314151617181920212223242526272829303132333435363738 |
- # Copyright 2023 The Chromium Authors. All rights reserved.
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
- import os
- from typing import List
- # The base names that are known to be Chromium metadata files.
- _METADATA_FILES = {
- "README.chromium",
- }
- def is_metadata_file(path: str) -> bool:
- """Filter for metadata files."""
- return os.path.basename(path) in _METADATA_FILES
- def find_metadata_files(root: str) -> List[str]:
- """Finds all metadata files within the given root directory,
- including subdirectories.
- Args:
- root: the absolute path to the root directory within which to
- search.
- Returns: the absolute full paths for all the metadata files within
- the root directory, sorted in ascending order.
- """
- metadata_files = []
- for (dirpath, _, filenames) in os.walk(root, followlinks=True):
- for filename in filenames:
- if is_metadata_file(filename):
- full_path = os.path.join(root, dirpath, filename)
- metadata_files.append(full_path)
- return sorted(metadata_files)
|