mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2025-02-07 07:51:46 +01:00
Changed export of non-text files
Some non-text files like fonts were being exported as text Fixed by identifying text files and exporting other files by copying the bytestream directly. Affects issues: - Fixed #1297
This commit is contained in:
parent
d731919b26
commit
ba34d2ad9a
@ -150,9 +150,8 @@ public class NetworkPageExporter extends FileExporter {
|
||||
}
|
||||
|
||||
private void exportRequiredResources(Path toDirectory) throws IOException {
|
||||
exportImage(toDirectory, "img/Flaticon_circle.png");
|
||||
|
||||
exportResources(toDirectory,
|
||||
"img/Flaticon_circle.png",
|
||||
"css/sb-admin-2.css",
|
||||
"css/style.css",
|
||||
"vendor/jquery/jquery.min.js",
|
||||
@ -198,22 +197,17 @@ public class NetworkPageExporter extends FileExporter {
|
||||
private void exportResource(Path toDirectory, String resourceName) throws IOException {
|
||||
Resource resource = files.getCustomizableResourceOrDefault("web/" + resourceName);
|
||||
Path to = toDirectory.resolve(resourceName);
|
||||
|
||||
if (resourceName.endsWith(".css")) {
|
||||
export(to, theme.replaceThemeColors(resource.asString()));
|
||||
} else if ("js/network-values.js".equalsIgnoreCase(resourceName)) {
|
||||
// Replace /server in urls to fix server page links
|
||||
export(to, StringUtils.replaceOnce(resource.asString(), "server/", toRelativePathFromRoot("server") + '/'));
|
||||
} else {
|
||||
} else if (Resource.isTextResource(resourceName)) {
|
||||
export(to, resource.asLines());
|
||||
}
|
||||
|
||||
exportPaths.put(resourceName, toRelativePathFromRoot(resourceName));
|
||||
}
|
||||
|
||||
private void exportImage(Path toDirectory, String resourceName) throws IOException {
|
||||
Resource resource = files.getCustomizableResourceOrDefault("web/" + resourceName);
|
||||
Path to = toDirectory.resolve(resourceName);
|
||||
} else {
|
||||
export(to, resource);
|
||||
}
|
||||
|
||||
exportPaths.put(resourceName, toRelativePathFromRoot(resourceName));
|
||||
}
|
||||
|
@ -133,10 +133,9 @@ public class PlayerPageExporter extends FileExporter {
|
||||
}
|
||||
|
||||
private void exportRequiredResources(Path toDirectory) throws IOException {
|
||||
exportImage(toDirectory, "img/Flaticon_circle.png");
|
||||
|
||||
// Style
|
||||
exportResources(toDirectory,
|
||||
"img/Flaticon_circle.png",
|
||||
"css/sb-admin-2.css",
|
||||
"css/style.css",
|
||||
"vendor/jquery/jquery.min.js",
|
||||
@ -187,17 +186,11 @@ public class PlayerPageExporter extends FileExporter {
|
||||
|
||||
if (resourceName.endsWith(".css")) {
|
||||
export(to, theme.replaceThemeColors(resource.asString()));
|
||||
} else {
|
||||
} else if (Resource.isTextResource(resourceName)) {
|
||||
export(to, resource.asLines());
|
||||
}
|
||||
|
||||
exportPaths.put(resourceName, toRelativePathFromRoot(resourceName));
|
||||
}
|
||||
|
||||
private void exportImage(Path toDirectory, String resourceName) throws IOException {
|
||||
Resource resource = files.getCustomizableResourceOrDefault("web/" + resourceName);
|
||||
Path to = toDirectory.resolve(resourceName);
|
||||
} else {
|
||||
export(to, resource);
|
||||
}
|
||||
|
||||
exportPaths.put(resourceName, toRelativePathFromRoot(resourceName));
|
||||
}
|
||||
|
@ -128,10 +128,9 @@ public class PlayersPageExporter extends FileExporter {
|
||||
}
|
||||
|
||||
private void exportRequiredResources(Path toDirectory) throws IOException {
|
||||
exportImage(toDirectory, "img/Flaticon_circle.png");
|
||||
|
||||
// Style
|
||||
exportResources(toDirectory,
|
||||
"img/Flaticon_circle.png",
|
||||
"css/sb-admin-2.css",
|
||||
"css/style.css",
|
||||
"vendor/jquery/jquery.min.js",
|
||||
@ -139,6 +138,19 @@ public class PlayersPageExporter extends FileExporter {
|
||||
"vendor/jquery-easing/jquery.easing.min.js",
|
||||
"vendor/datatables/jquery.dataTables.min.js",
|
||||
"vendor/datatables/dataTables.bootstrap4.min.js",
|
||||
"vendor/fontawesome-free/css/all.min.css",
|
||||
"vendor/fontawesome-free/webfonts/fa-brands-400.eot",
|
||||
"vendor/fontawesome-free/webfonts/fa-brands-400.ttf",
|
||||
"vendor/fontawesome-free/webfonts/fa-brands-400.woff",
|
||||
"vendor/fontawesome-free/webfonts/fa-brands-400.woff2",
|
||||
"vendor/fontawesome-free/webfonts/fa-regular-400.eot",
|
||||
"vendor/fontawesome-free/webfonts/fa-regular-400.ttf",
|
||||
"vendor/fontawesome-free/webfonts/fa-regular-400.woff",
|
||||
"vendor/fontawesome-free/webfonts/fa-regular-400.woff2",
|
||||
"vendor/fontawesome-free/webfonts/fa-solid-900.eot",
|
||||
"vendor/fontawesome-free/webfonts/fa-solid-900.ttf",
|
||||
"vendor/fontawesome-free/webfonts/fa-solid-900.woff",
|
||||
"vendor/fontawesome-free/webfonts/fa-solid-900.woff2",
|
||||
"js/sb-admin-2.js",
|
||||
"js/xmlhttprequests.js",
|
||||
"js/color-selector.js"
|
||||
@ -157,17 +169,11 @@ public class PlayersPageExporter extends FileExporter {
|
||||
|
||||
if (resourceName.endsWith(".css")) {
|
||||
export(to, theme.replaceThemeColors(resource.asString()));
|
||||
} else {
|
||||
} else if (Resource.isTextResource(resourceName)) {
|
||||
export(to, resource.asLines());
|
||||
}
|
||||
|
||||
exportPaths.put(resourceName, toRelativePathFromRoot(resourceName));
|
||||
}
|
||||
|
||||
private void exportImage(Path toDirectory, String resourceName) throws IOException {
|
||||
Resource resource = files.getCustomizableResourceOrDefault("web/" + resourceName);
|
||||
Path to = toDirectory.resolve(resourceName);
|
||||
} else {
|
||||
export(to, resource);
|
||||
}
|
||||
|
||||
exportPaths.put(resourceName, toRelativePathFromRoot(resourceName));
|
||||
}
|
||||
|
@ -162,10 +162,9 @@ public class ServerPageExporter extends FileExporter {
|
||||
}
|
||||
|
||||
private void exportRequiredResources(Path toDirectory) throws IOException {
|
||||
exportImage(toDirectory, "img/Flaticon_circle.png");
|
||||
|
||||
// Style
|
||||
exportResources(toDirectory,
|
||||
"img/Flaticon_circle.png",
|
||||
"css/sb-admin-2.css",
|
||||
"css/style.css",
|
||||
"vendor/jquery/jquery.min.js",
|
||||
@ -217,17 +216,11 @@ public class ServerPageExporter extends FileExporter {
|
||||
|
||||
if (resourceName.endsWith(".css")) {
|
||||
export(to, theme.replaceThemeColors(resource.asString()));
|
||||
} else {
|
||||
} else if (Resource.isTextResource(resourceName)) {
|
||||
export(to, resource.asLines());
|
||||
}
|
||||
|
||||
exportPaths.put(resourceName, toRelativePathFromRoot(resourceName));
|
||||
}
|
||||
|
||||
private void exportImage(Path toDirectory, String resourceName) throws IOException {
|
||||
Resource resource = files.getCustomizableResourceOrDefault("web/" + resourceName);
|
||||
Path to = toDirectory.resolve(resourceName);
|
||||
} else {
|
||||
export(to, resource);
|
||||
}
|
||||
|
||||
exportPaths.put(resourceName, toRelativePathFromRoot(resourceName));
|
||||
}
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package com.djrapitops.plan.storage.file;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.List;
|
||||
@ -58,4 +60,14 @@ public interface Resource {
|
||||
*/
|
||||
String asString() throws IOException;
|
||||
|
||||
/**
|
||||
* Check if a resource is a text based file.
|
||||
*
|
||||
* @param resourceName Name of the resource
|
||||
* @return true if the resource is text based.
|
||||
*/
|
||||
static boolean isTextResource(String resourceName) {
|
||||
return StringUtils.endsWithAny(resourceName, ".html", ".js", ".css", ".yml", ".txt");
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user