Skip to content

Commit 5647dec

Browse files
committed
Fix type checker warnings in mtree.py
This should not result in any function changes
1 parent 3ae8244 commit 5647dec

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

pycheribuild/mtree.py

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
# SUCH DAMAGE.
2929
#
3030

31-
import collections
31+
import collections.abc
3232
import fnmatch
3333
import io
3434
import os
@@ -190,31 +190,32 @@ def _glob(self, patfrags: "list[str]", prefix: MtreePath, *, case_sensitive=Fals
190190

191191
def glob(self, pattern: str, *, case_sensitive=False) -> Iterator[MtreePath]:
192192
if len(pattern) == 0:
193-
raise StopIteration() # pytype does not like plain "return"
193+
return iter([])
194194
head, tail = os.path.split(pattern)
195195
patfrags = [tail]
196196
while head:
197197
head, tail = os.path.split(head)
198198
patfrags.insert(0, tail)
199199
return self._glob(patfrags, MtreePath(), case_sensitive=case_sensitive)
200200

201-
def _walk(self, top, prefix):
201+
def _walk(self, top, prefix) -> "Iterator[tuple[MtreePath, list[str], list[str]]]":
202202
split = self._split_key(top)
203203
if split is not None:
204-
return self.children[split[0]]._walk(split[1], prefix / split[0])
204+
yield from self.children[split[0]]._walk(split[1], prefix / split[0])
205205
if self.entry is not None and self.entry.attributes["type"] != "dir":
206-
raise StopIteration() # pytype does not like plain "return"
207-
files = []
208-
dirs = []
206+
return
207+
files: "list[tuple[str, MtreeSubtree]]" = []
208+
dirs: "list[tuple[str, MtreeSubtree]]" = []
209209
for k, v in self.children.items():
210210
if v.entry is not None and v.entry.attributes["type"] != "dir":
211211
files.append((k, v))
212212
else:
213213
dirs.append((k, v))
214-
yield (prefix, list([k for k, _ in dirs]), list([k for k, _ in files]))
215-
return iter([v._walk(MtreePath(), prefix) for _, v in dirs])
214+
yield prefix, list([k for k, _ in dirs]), list([k for k, _ in files])
215+
for _, v in dirs:
216+
yield from v._walk(MtreePath(), prefix)
216217

217-
def walk(self, top):
218+
def walk(self, top) -> "Iterator[tuple[MtreePath, list[str], list[str]]]":
218219
return self._walk(top, MtreePath())
219220

220221

@@ -315,6 +316,7 @@ def add_file(
315316
if symlink_dest is not None:
316317
mode = "0755"
317318
else:
319+
assert file is not None
318320
mode = self.infer_mode_string(file, False)
319321
mode = self._ensure_mtree_mode_fmt(mode)
320322
mtree_path = self._ensure_mtree_path_fmt(path_in_image)
@@ -409,7 +411,7 @@ def add_from_mtree(self, mtree_file: "MtreeFile", path: "Union[PurePath, str]",
409411
parent = mtree_path.parent
410412
if parent != mtree_path:
411413
self.add_from_mtree(mtree_file, parent, print_status=print_status)
412-
attribs = mtree_file.get(mtree_path).attributes
414+
attribs = mtree_file._mtree[mtree_path].attributes
413415
entry = MtreeEntry(mtree_path, attribs)
414416
if print_status:
415417
if "link" in attribs:
@@ -465,15 +467,15 @@ def write(self, output: "Union[io.StringIO,Path,typing.IO]", *, pretend):
465467
output.write("\n")
466468
output.write("# END\n")
467469

468-
def get(self, key):
470+
def get(self, key) -> Optional[MtreeEntry]:
469471
return self._mtree.get(key)
470472

471473
@property
472-
def root(self):
474+
def root(self) -> MtreeSubtree:
473475
return self._mtree
474476

475477
def glob(self, pattern: str, *, case_sensitive=False) -> Iterator[MtreePath]:
476478
return self._mtree.glob(pattern, case_sensitive=case_sensitive)
477479

478-
def walk(self, top):
480+
def walk(self, top) -> "Iterator[tuple[MtreePath, list[str], list[str]]]":
479481
return self._mtree.walk(top)

0 commit comments

Comments
 (0)