Get tarfile top level dir prefixes with .split()

Most tarfiles have .getnames() return top level dirs as <top_level_dir_name>
and files as <top_level_dir_name>/filename.txt. But some tarfiles don't
return the top level directories when running .getnames(). Instead we'll
have to parse through each path name to retrieve the top level directories.

Bug: b/337331070, b/337330736
Change-Id: I8c0e05a2c0722c02eda55162bf51b15a9c21e34a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5499051
Reviewed-by: Joanna Wang <jojwang@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Stephanie Kim <kimstephanie@google.com>
changes/51/5499051/3
Stephanie Kim 1 year ago committed by LUCI CQ
parent 8e13f27a01
commit 765b75b4c0

@ -2733,9 +2733,8 @@ class GcsDependency(Dependency):
formatted_names.append(name[2:])
else:
formatted_names.append(name)
possible_top_level_dirs = [
name for name in formatted_names if '/' not in name
]
possible_top_level_dirs = set(
name.split('/')[0] for name in formatted_names)
is_valid_tar = self.ValidateTarFile(tar,
possible_top_level_dirs)
if not is_valid_tar:

Loading…
Cancel
Save