SP
Size: a a a
SP
CD
SP
CD
TK
SP
TK
SP
CD
SP
CD
SP
def alternative_names(filename: Path) -> Iterable[str]:
yield filename.name
# if os.path.isfile(filename):
if filename.is_file():
yield f"{filename.stem}(copy){filename.suffix}"
for i in itertools.count(1):
yield f"{filename.stem}(copy {i}){filename.suffix}"
else:
yield f"{filename.name}(copy)"
for i in itertools.count(1):
yield f"{filename.name}(copy {i})"
SP
def get_next_name(root: Path, name: Path) -> Path:
for alt_name in alternative_names(name):
full_path = root / alt_name
if not full_path.exists():
return full_path
CD
SP
AI
TK
SP
SP