mirror of
https://github.com/mitb-archive/filebot
synced 2025-01-11 13:58:16 -05:00
* special handling for \\server UNC paths
This commit is contained in:
parent
d22289cb24
commit
04cbcb62c2
@ -194,6 +194,7 @@ public final class FileUtilities {
|
|||||||
* e.g. "file.txt" -> match "txt", ".hidden" -> no match
|
* e.g. "file.txt" -> match "txt", ".hidden" -> no match
|
||||||
*/
|
*/
|
||||||
public static final Pattern EXTENSION = Pattern.compile("(?<=.[.])\\p{Alnum}+$");
|
public static final Pattern EXTENSION = Pattern.compile("(?<=.[.])\\p{Alnum}+$");
|
||||||
|
public static final String UNC_PREFIX = "\\\\";
|
||||||
|
|
||||||
|
|
||||||
public static String getExtension(File file) {
|
public static String getExtension(File file) {
|
||||||
@ -248,7 +249,7 @@ public final class FileUtilities {
|
|||||||
|
|
||||||
|
|
||||||
public static String getName(File file) {
|
public static String getName(File file) {
|
||||||
if (file.getName().isEmpty())
|
if (file.getName().isEmpty() || UNC_PREFIX.equals(file.getParent()))
|
||||||
return getFolderName(file);
|
return getFolderName(file);
|
||||||
|
|
||||||
return getNameWithoutExtension(file.getName());
|
return getNameWithoutExtension(file.getName());
|
||||||
@ -256,10 +257,11 @@ public final class FileUtilities {
|
|||||||
|
|
||||||
|
|
||||||
public static String getFolderName(File file) {
|
public static String getFolderName(File file) {
|
||||||
String name = file.getName();
|
if (UNC_PREFIX.equals(file.getParent()))
|
||||||
|
return file.toString();
|
||||||
|
|
||||||
if (!name.isEmpty())
|
if (file.getName().length() > 0)
|
||||||
return name;
|
return file.getName();
|
||||||
|
|
||||||
// file might be a drive (only has a path, but no name)
|
// file might be a drive (only has a path, but no name)
|
||||||
return replacePathSeparators(file.toString(), "");
|
return replacePathSeparators(file.toString(), "");
|
||||||
@ -351,7 +353,7 @@ public final class FileUtilities {
|
|||||||
public static List<File> listPath(File file) {
|
public static List<File> listPath(File file) {
|
||||||
LinkedList<File> nodes = new LinkedList<File>();
|
LinkedList<File> nodes = new LinkedList<File>();
|
||||||
|
|
||||||
for (File node = file; node != null; node = node.getParentFile()) {
|
for (File node = file; node != null && !UNC_PREFIX.equals(node.toString()); node = node.getParentFile()) {
|
||||||
nodes.addFirst(node);
|
nodes.addFirst(node);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -492,6 +494,10 @@ public final class FileUtilities {
|
|||||||
|
|
||||||
|
|
||||||
public static String normalizePathSeparators(String path) {
|
public static String normalizePathSeparators(String path) {
|
||||||
|
// special handling for UNC paths
|
||||||
|
if (path.startsWith(UNC_PREFIX) && path.length() > 2) {
|
||||||
|
return UNC_PREFIX + path.substring(2).replace('\\', '/');
|
||||||
|
}
|
||||||
return path.replace('\\', '/');
|
return path.replace('\\', '/');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user