MCPcopy Index your code
hub / github.com/RustPython/RustPython / _get_extract_tarinfo

Method _get_extract_tarinfo

Lib/tarfile.py:2481–2509  ·  view source on GitHub ↗

Get (filtered, unfiltered) TarInfos from *member* *member* might be a string. Return (None, None) if not found.

(self, member, filter_function, path)

Source from the content-addressed store, hash-verified

2479 self._extract_one(tarinfo, path, set_attrs, numeric_owner)
2480
2481 def _get_extract_tarinfo(self, member, filter_function, path):
2482 """Get (filtered, unfiltered) TarInfos from *member*
2483
2484 *member* might be a string.
2485
2486 Return (None, None) if not found.
2487 """
2488
2489 if isinstance(member, str):
2490 unfiltered = self.getmember(member)
2491 else:
2492 unfiltered = member
2493
2494 filtered = None
2495 try:
2496 filtered = filter_function(unfiltered, path)
2497 except (OSError, UnicodeEncodeError, FilterError) as e:
2498 self._handle_fatal_error(e)
2499 except ExtractError as e:
2500 self._handle_nonfatal_error(e)
2501 if filtered is None:
2502 self._dbg(2, "tarfile: Excluded %r" % unfiltered.name)
2503 return None, None
2504
2505 # Prepare the link target for makelink().
2506 if filtered.islnk():
2507 filtered = copy.copy(filtered)
2508 filtered._link_target = os.path.join(path, filtered.linkname)
2509 return filtered, unfiltered
2510
2511 def _extract_one(self, tarinfo, path, set_attrs, numeric_owner,
2512 filter_function=None):

Callers 2

extractallMethod · 0.95
extractMethod · 0.95

Calls 8

getmemberMethod · 0.95
_handle_fatal_errorMethod · 0.95
_dbgMethod · 0.95
isinstanceFunction · 0.85
islnkMethod · 0.80
copyMethod · 0.45
joinMethod · 0.45

Tested by

no test coverage detected