MCPcopy Index your code
hub / github.com/python-openxml/python-docx / _walk_phys_parts

Method _walk_phys_parts

src/docx/opc/pkgreader.py:65–83  ·  view source on GitHub ↗

Generate a 4-tuple `(partname, blob, reltype, srels)` for each of the parts in `phys_reader` by walking the relationship graph rooted at srels.

(phys_reader, srels, visited_partnames=None)

Source from the content-addressed store, hash-verified

63
64 @staticmethod
65 def _walk_phys_parts(phys_reader, srels, visited_partnames=None):
66 """Generate a 4-tuple `(partname, blob, reltype, srels)` for each of the parts
67 in `phys_reader` by walking the relationship graph rooted at srels."""
68 if visited_partnames is None:
69 visited_partnames = []
70 for srel in srels:
71 if srel.is_external:
72 continue
73 partname = srel.target_partname
74 if partname in visited_partnames:
75 continue
76 visited_partnames.append(partname)
77 reltype = srel.reltype
78 part_srels = PackageReader._srels_for(phys_reader, partname)
79 blob = phys_reader.blob_for(partname)
80 yield (partname, blob, reltype, part_srels)
81 next_walker = PackageReader._walk_phys_parts(phys_reader, part_srels, visited_partnames)
82 for partname, blob, reltype, srels in next_walker:
83 yield (partname, blob, reltype, srels)
84
85
86class _ContentTypeMap:

Callers 1

Calls 3

appendMethod · 0.80
_srels_forMethod · 0.45
blob_forMethod · 0.45

Tested by

no test coverage detected