Fix browser rename for dotfiles

This commit is contained in:
crschnick
2026-05-27 11:40:59 +00:00
parent b41ffd4b9b
commit 8f98786040
@@ -19,19 +19,23 @@ public class BrowserFileDuplicates {
}
private static FilePath renameFile(FilePath target, boolean dir) {
var name = dir ? target.getFileName() : target.getBaseName().getFileName();
var name = dir || target.isDotFile() ? target.getFileName() : target.getBaseName().getFileName();
var pattern = Pattern.compile("(.+)_(\\d+)");
var matcher = pattern.matcher(name);
if (matcher.matches()) {
try {
var number = Integer.parseInt(matcher.group(2));
var suffix = dir ? "" : target.getExtension().map(s -> "." + s).orElse("");
var suffix = dir || target.isDotFile() ? "" : target.getExtension().map(s -> "." + s).orElse("");
var newFile = target.getParent().join(matcher.group(1) + "_" + (number + 1) + suffix);
return newFile;
} catch (NumberFormatException ignored) {
}
}
if (target.isDotFile()) {
return FilePath.of(target.removeTrailingSlash() + "_" + 1);
}
var ext = target.getExtension();
return FilePath.of(
target.removeTrailingSlash().getBaseName() + "_" + 1 + (ext.isPresent() ? "." + ext.get() : ""));