MCPcopy Index your code
hub / github.com/python/cpython / _get_extract_tarinfo

Method _get_extract_tarinfo

Lib/tarfile.py:2500–2528  ·  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

2498 self._extract_one(tarinfo, path, set_attrs, numeric_owner)
2499
2500 def _get_extract_tarinfo(self, member, filter_function, path):
2501 """Get (filtered, unfiltered) TarInfos from *member*
2502
2503 *member* might be a string.
2504
2505 Return (None, None) if not found.
2506 """
2507
2508 if isinstance(member, str):
2509 unfiltered = self.getmember(member)
2510 else:
2511 unfiltered = member
2512
2513 filtered = None
2514 try:
2515 filtered = filter_function(unfiltered, path)
2516 except (OSError, UnicodeEncodeError, FilterError) as e:
2517 self._handle_fatal_error(e)
2518 except ExtractError as e:
2519 self._handle_nonfatal_error(e)
2520 if filtered is None:
2521 self._dbg(2, "tarfile: Excluded %r" % unfiltered.name)
2522 return None, None
2523
2524 # Prepare the link target for makelink().
2525 if filtered.islnk():
2526 filtered = copy.copy(filtered)
2527 filtered._link_target = os.path.join(path, filtered.linkname)
2528 return filtered, unfiltered
2529
2530 def _extract_one(self, tarinfo, path, set_attrs, numeric_owner,
2531 filter_function=None):

Callers 2

extractallMethod · 0.95
extractMethod · 0.95

Calls 7

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

Tested by

no test coverage detected