From b692a73e039fbdb404ef1219785660dc9eb60e60 Mon Sep 17 00:00:00 2001 From: Keuin Date: Fri, 24 Apr 2020 11:55:18 +0800 Subject: Added /kb delete for deleting an backup (with auto-complete supported). Command /kb confirm now confirms both /kb restore and /kb delete. Added /kb prev for easily check out the latest backup. --- .../kbackupfabric/util/BackupFilesystemUtil.java | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/main/java/com/keuin/kbackupfabric/util/BackupFilesystemUtil.java') diff --git a/src/main/java/com/keuin/kbackupfabric/util/BackupFilesystemUtil.java b/src/main/java/com/keuin/kbackupfabric/util/BackupFilesystemUtil.java index 5b8ba5a..ce39615 100644 --- a/src/main/java/com/keuin/kbackupfabric/util/BackupFilesystemUtil.java +++ b/src/main/java/com/keuin/kbackupfabric/util/BackupFilesystemUtil.java @@ -5,6 +5,8 @@ import net.minecraft.server.world.ThreadedAnvilChunkStorage; import net.minecraft.world.World; import java.io.File; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * Functions deal with file name, directory name about Minecraft saves. @@ -50,4 +52,27 @@ public final class BackupFilesystemUtil { public static String getBackupFileNamePrefix() { return backupFileNamePrefix; } + + public static long getBackupTimeFromBackupFileName(String backupFileName) { + Matcher matcher = Pattern.compile("[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}").matcher(backupFileName); + if (matcher.find()) { + String timeString = matcher.group(0); + long timeStamp = BackupNameTimeFormatter.timeStringToEpochSeconds(timeString); + System.out.println(backupFileName + " -> " + timeStamp); + return timeStamp; + } else { + System.err.println("Failed to extract time from " + backupFileName); + } + return -1; + } + + public static String humanFileSize(long size) { + double fileSize = size * 1.0 / 1024 / 1024; // Default unit is MB + if (fileSize > 1000) + //msgInfo(context, String.format("File size: %.2fGB", fileSize / 1024)); + return String.format("%.2fGB", fileSize / 1024); + else + //msgInfo(context, String.format("File size: %.2fMB", fileSize)); + return String.format("%.2fMB", fileSize); + } } -- cgit v1.2.3