Add disk size to disk usage widget
This commit is contained in:
@@ -227,17 +227,17 @@ public class FileSystemService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public long getSpaceOnDevice(String device) {
|
public long getDiskSize(String device) {
|
||||||
try {
|
try {
|
||||||
final Process process = Runtime.getRuntime()
|
final Process process = Runtime.getRuntime()
|
||||||
.exec(new String[]{"lsblk", "-b", "-o", "SIZE", "-n", device});
|
.exec(new String[]{"lsblk", "-b", "-o", "SIZE", "-n", device});
|
||||||
final String space = new BufferedReader(new InputStreamReader(process.getInputStream())).readLine();
|
final String size = new BufferedReader(new InputStreamReader(process.getInputStream())).readLine();
|
||||||
|
|
||||||
process.destroy();
|
process.destroy();
|
||||||
|
|
||||||
return Long.parseLong(space);
|
return Long.parseLong(size);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
throw new FileSystemServiceException("Could not get file", e);
|
throw new FileSystemServiceException("Could not get disk size", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -32,11 +32,15 @@ public class WidgetController {
|
|||||||
@GetMapping("files/widgets/diskUsage")
|
@GetMapping("files/widgets/diskUsage")
|
||||||
public String getDiskUsage(HttpServletRequest request, HttpServletResponse response, Model model) {
|
public String getDiskUsage(HttpServletRequest request, HttpServletResponse response, Model model) {
|
||||||
final String device = this.fileSystemService.getDevice();
|
final String device = this.fileSystemService.getDevice();
|
||||||
|
final long diskSize = this.fileSystemService.getDiskSize(device);
|
||||||
|
final long used = FileUtils.sizeOfDirectory(Paths.get(this.filesConfig.getBaseDir()).toFile());
|
||||||
|
final long available = diskSize - used;
|
||||||
|
|
||||||
model.addAttribute("baseDir", this.filesConfig.getBaseDir());
|
model.addAttribute("baseDir", this.filesConfig.getBaseDir());
|
||||||
model.addAttribute("device", device);
|
model.addAttribute("device", device);
|
||||||
model.addAttribute("available", this.fileSystemService.getSpaceOnDevice(device));
|
model.addAttribute("available", available);
|
||||||
model.addAttribute("used", FileUtils.sizeOfDirectory(Paths.get(this.filesConfig.getBaseDir()).toFile()));
|
model.addAttribute("used", used);
|
||||||
|
model.addAttribute("diskSize", diskSize);
|
||||||
|
|
||||||
return "files/widgets/diskUsage :: file-disk-usage";
|
return "files/widgets/diskUsage :: file-disk-usage";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ nbscloud.files.file-disk-usage-widget-table.basedir=Base dir\:
|
|||||||
nbscloud.files.file-disk-usage-widget-table.device=Host device\:
|
nbscloud.files.file-disk-usage-widget-table.device=Host device\:
|
||||||
nbscloud.files.file-disk-usage-widget-table.available=Available\:
|
nbscloud.files.file-disk-usage-widget-table.available=Available\:
|
||||||
nbscloud.files.file-disk-usage-widget-table.used=Used\:
|
nbscloud.files.file-disk-usage-widget-table.used=Used\:
|
||||||
|
nbscloud.files.file-disk-usage-widget-table.disksize=Disk size\:
|
||||||
|
|
||||||
nbscloud.files.delete.success=File deleted
|
nbscloud.files.delete.success=File deleted
|
||||||
nbscloud.files.rename.success=File renamed
|
nbscloud.files.rename.success=File renamed
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ nbscloud.files.file-disk-usage-widget-table.basedir=Verzeichnis\:
|
|||||||
nbscloud.files.file-disk-usage-widget-table.device=Ger\u00E4t\:
|
nbscloud.files.file-disk-usage-widget-table.device=Ger\u00E4t\:
|
||||||
nbscloud.files.file-disk-usage-widget-table.available=Verf\u00FCgbar\:
|
nbscloud.files.file-disk-usage-widget-table.available=Verf\u00FCgbar\:
|
||||||
nbscloud.files.file-disk-usage-widget-table.used=Belegt\:
|
nbscloud.files.file-disk-usage-widget-table.used=Belegt\:
|
||||||
|
nbscloud.files.file-disk-usage-widget-table.disksize=Gr\u00F6\u00DFe\:
|
||||||
|
|
||||||
nbscloud.files.delete.success=Datei gel\u00F6scht
|
nbscloud.files.delete.success=Datei gel\u00F6scht
|
||||||
nbscloud.files.rename.success=Datei verschoben/umbenannt
|
nbscloud.files.rename.success=Datei verschoben/umbenannt
|
||||||
|
|||||||
@@ -10,12 +10,16 @@
|
|||||||
<td th:text="${device}" />
|
<td th:text="${device}" />
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td th:text="#{nbscloud.files.file-disk-usage-widget-table.available}" />
|
<td th:text="#{nbscloud.files.file-disk-usage-widget-table.disksize}" />
|
||||||
<td th:text="${@filesFormatter.formatSize(available)}" />
|
<td th:text="${@filesFormatter.formatSize(diskSize)}" />
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td th:text="#{nbscloud.files.file-disk-usage-widget-table.used}" />
|
<td th:text="#{nbscloud.files.file-disk-usage-widget-table.used}" />
|
||||||
<td th:text="${@filesFormatter.formatSize(used)}" />
|
<td th:text="${@filesFormatter.formatSize(used)}" />
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td th:text="#{nbscloud.files.file-disk-usage-widget-table.available}" />
|
||||||
|
<td th:text="${@filesFormatter.formatSize(available)}" />
|
||||||
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
Reference in New Issue
Block a user