Clean the Recently Deleted directory periodically
This commit is contained in:
parent
09c8c4665b
commit
7f23668623
|
@ -83,27 +83,27 @@ public class SubProtocol extends SubDataProtocol {
|
|||
|
||||
|
||||
// 30-49: Control Packets
|
||||
//instance.registerPacket(0x0030, PacketInReload.class); TODO
|
||||
//instance.registerPacket(0x0030, PacketInReload.class); // TODO
|
||||
instance.registerPacket(0x0031, PacketCreateServer.class);
|
||||
//instance.registerPacket(0x0032, PacketAddServer.class); TODO
|
||||
//instance.registerPacket(0x0032, PacketAddServer.class); // TODO
|
||||
instance.registerPacket(0x0033, PacketStartServer.class);
|
||||
//instance.registerPacket(0x0034, PacketEditServer.class); TODO
|
||||
//instance.registerPacket(0x0034, PacketEditServer.class); // TODO
|
||||
instance.registerPacket(0x0035, PacketRestartServer.class);
|
||||
instance.registerPacket(0x0036, PacketCommandServer.class);
|
||||
instance.registerPacket(0x0037, PacketStopServer.class);
|
||||
//instance.registerPacket(0x0038, PacketRemoveServer.class); TODO
|
||||
//instance.registerPacket(0x0039, PacketDeleteServer.class); TODO
|
||||
//instance.registerPacket(0x0038, PacketRemoveServer.class); // TODO
|
||||
//instance.registerPacket(0x0039, PacketDeleteServer.class); // TODO
|
||||
|
||||
//instance.registerPacket(0x0030, new PacketInReload(plugin)); TODO
|
||||
//instance.registerPacket(0x0030, new PacketInReload(plugin)); // TODO
|
||||
instance.registerPacket(0x0031, new PacketCreateServer(plugin));
|
||||
//instance.registerPacket(0x0032, new PacketAddServer(plugin)); TODO
|
||||
//instance.registerPacket(0x0032, new PacketAddServer(plugin)); // TODO
|
||||
instance.registerPacket(0x0033, new PacketStartServer(plugin));
|
||||
//instance.registerPacket(0x0034, new PacketEditServer(plugin)); TODO
|
||||
//instance.registerPacket(0x0034, new PacketEditServer(plugin)); // TODO
|
||||
instance.registerPacket(0x0035, new PacketRestartServer(plugin));
|
||||
instance.registerPacket(0x0036, new PacketCommandServer(plugin));
|
||||
instance.registerPacket(0x0037, new PacketStopServer(plugin));
|
||||
//instance.registerPacket(0x0038, new PacketRemoveServer(plugin)); TODO
|
||||
//instance.registerPacket(0x0039, new PacketDeleteServer(plugin)); TODO
|
||||
//instance.registerPacket(0x0038, new PacketRemoveServer(plugin)); // TODO
|
||||
//instance.registerPacket(0x0039, new PacketDeleteServer(plugin)); // TODO
|
||||
|
||||
|
||||
// 50-69: External Host Packets
|
||||
|
|
|
@ -149,46 +149,59 @@ public final class SubPlugin extends BungeeCord implements Listener {
|
|||
}
|
||||
}
|
||||
|
||||
if (new UniversalFile(dir, "Recently Deleted").exists()) {
|
||||
int f = new UniversalFile(dir, "Recently Deleted").listFiles().length;
|
||||
for (File file : new UniversalFile(dir, "Recently Deleted").listFiles()) {
|
||||
try {
|
||||
if (file.isDirectory()) {
|
||||
if (new UniversalFile(dir, "Recently Deleted:" + file.getName() + ":info.json").exists()) {
|
||||
FileReader reader = new FileReader(new UniversalFile(dir, "Recently Deleted:" + file.getName() + ":info.json"));
|
||||
YAMLSection info = new YAMLSection(new Gson().fromJson(Util.readAll(reader), Map.class));
|
||||
reader.close();
|
||||
if (info.contains("Timestamp")) {
|
||||
if (TimeUnit.MILLISECONDS.toDays(Calendar.getInstance().getTime().getTime() - info.getLong("Timestamp")) >= 7) {
|
||||
Runnable clean = () -> {
|
||||
try {
|
||||
if (new UniversalFile(dir, "Recently Deleted").exists()) {
|
||||
int f = new UniversalFile(dir, "Recently Deleted").listFiles().length;
|
||||
for (File file : new UniversalFile(dir, "Recently Deleted").listFiles()) {
|
||||
try {
|
||||
if (file.isDirectory()) {
|
||||
if (new UniversalFile(dir, "Recently Deleted:" + file.getName() + ":info.json").exists()) {
|
||||
FileReader reader = new FileReader(new UniversalFile(dir, "Recently Deleted:" + file.getName() + ":info.json"));
|
||||
YAMLSection info = new YAMLSection(new Gson().fromJson(Util.readAll(reader), Map.class));
|
||||
reader.close();
|
||||
if (info.contains("Timestamp")) {
|
||||
if (TimeUnit.MILLISECONDS.toDays(Calendar.getInstance().getTime().getTime() - info.getLong("Timestamp")) >= 7) {
|
||||
Util.deleteDirectory(file);
|
||||
f--;
|
||||
System.out.println("SubServers > Removed ~/SubServers/Recently Deleted/" + file.getName());
|
||||
}
|
||||
} else {
|
||||
Util.deleteDirectory(file);
|
||||
f--;
|
||||
System.out.println("SubServers > Removed ~/SubServers/Recently Deleted/" + file.getName());
|
||||
}
|
||||
} else {
|
||||
Util.deleteDirectory(file);
|
||||
f--;
|
||||
System.out.println("SubServers > Removed ~/SubServers/Recently Deleted/" + file.getName());
|
||||
}
|
||||
} else {
|
||||
Util.deleteDirectory(file);
|
||||
Files.delete(file.toPath());
|
||||
f--;
|
||||
System.out.println("SubServers > Removed ~/SubServers/Recently Deleted/" + file.getName());
|
||||
}
|
||||
} else {
|
||||
Util.deleteDirectory(file);
|
||||
f--;
|
||||
System.out.println("SubServers > Removed ~/SubServers/Recently Deleted/" + file.getName());
|
||||
} catch (Exception e) {
|
||||
System.out.println("SubServers > Problem scanning ~/SubServers/Recently Deleted/" + file.getName());
|
||||
e.printStackTrace();
|
||||
Files.delete(file.toPath());
|
||||
}
|
||||
} else {
|
||||
Files.delete(file.toPath());
|
||||
f--;
|
||||
System.out.println("SubServers > Removed ~/SubServers/Recently Deleted/" + file.getName());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
System.out.println("SubServers > Problem scanning ~/SubServers/Recently Deleted/" + file.getName());
|
||||
e.printStackTrace();
|
||||
Files.delete(file.toPath());
|
||||
if (f <= 0) {
|
||||
Files.delete(new UniversalFile(dir, "Recently Deleted").toPath());
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
if (f <= 0) {
|
||||
Files.delete(new UniversalFile(dir, "Recently Deleted").toPath());
|
||||
};
|
||||
clean.run();
|
||||
new Timer("SubServers.Bungee::Recycle_Cleaner").scheduleAtFixedRate(new TimerTask() {
|
||||
@Override
|
||||
public void run() {
|
||||
clean.run();
|
||||
}
|
||||
}
|
||||
}, TimeUnit.DAYS.toMillis(7), TimeUnit.DAYS.toMillis(7));
|
||||
|
||||
api.addHostDriver(net.ME1312.SubServers.Bungee.Host.Internal.InternalHost.class, "built-in");
|
||||
api.addHostDriver(net.ME1312.SubServers.Bungee.Host.External.ExternalHost.class, "network");
|
||||
|
|
Loading…
Reference in New Issue