Recursively copy the given path to this path.
(self, source, follow_symlinks=True, preserve_metadata=False)
| 1315 | return self.copy(target, **kwargs) |
| 1316 | |
| 1317 | def _copy_from(self, source, follow_symlinks=True, preserve_metadata=False): |
| 1318 | """ |
| 1319 | Recursively copy the given path to this path. |
| 1320 | """ |
| 1321 | if not follow_symlinks and source.info.is_symlink(): |
| 1322 | self._copy_from_symlink(source, preserve_metadata) |
| 1323 | elif source.info.is_dir(): |
| 1324 | children = source.iterdir() |
| 1325 | os.mkdir(self) |
| 1326 | for child in children: |
| 1327 | self.joinpath(child.name)._copy_from( |
| 1328 | child, follow_symlinks, preserve_metadata) |
| 1329 | if preserve_metadata: |
| 1330 | _copy_info(source.info, self) |
| 1331 | else: |
| 1332 | self._copy_from_file(source, preserve_metadata) |
| 1333 | |
| 1334 | def _copy_from_file(self, source, preserve_metadata=False): |
| 1335 | ensure_different_files(source, self) |
no test coverage detected