Added left space on filesystem holding the uploads folder to the gcode files list
Closes #186master
parent
22ea55746c
commit
31d86cd0a2
|
@ -301,7 +301,7 @@ def readGcodeFiles():
|
|||
"date": "n/a",
|
||||
"origin": "sd"
|
||||
})
|
||||
return jsonify(files=files)
|
||||
return jsonify(files=files, free=util.getFormattedSize(util.getFreeBytes(settings().getBaseFolder("uploads"))))
|
||||
|
||||
@app.route(BASEURL + "gcodefiles/<path:filename>", methods=["GET"])
|
||||
def readGcodeFile(filename):
|
||||
|
|
|
@ -385,6 +385,10 @@ ul.dropdown-menu li a {
|
|||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
table {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/** Control tab */
|
||||
|
|
|
@ -784,6 +784,8 @@ function GcodeFilesViewModel(printerStateViewModel, loginStateViewModel) {
|
|||
self.isLoading = ko.observable(undefined);
|
||||
self.isSdReady = ko.observable(undefined);
|
||||
|
||||
self.freeSpace = ko.observable(undefined);
|
||||
|
||||
// initialize list helper
|
||||
self.listHelper = new ItemListHelper(
|
||||
"gcodeFiles",
|
||||
|
@ -884,6 +886,8 @@ function GcodeFilesViewModel(printerStateViewModel, loginStateViewModel) {
|
|||
self.listHelper.switchToItem(function(item) {return item.name == response.filename});
|
||||
}
|
||||
|
||||
self.freeSpace(response.free);
|
||||
|
||||
self.highlightFilename(self.printerState.filename());
|
||||
}
|
||||
|
||||
|
|
|
@ -186,6 +186,9 @@
|
|||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="muted text-right">
|
||||
<small>Free: <span data-bind="text: freeSpace"></span></small>
|
||||
</div>
|
||||
<div class="pagination pagination-mini pagination-centered">
|
||||
<ul>
|
||||
<li data-bind="css: {disabled: listHelper.currentPage() === 0}"><a href="#" data-bind="click: listHelper.prevPage">«</a></li>
|
||||
|
|
|
@ -11,7 +11,7 @@ from octoprint.settings import settings
|
|||
|
||||
def getFormattedSize(num):
|
||||
"""
|
||||
Taken from http://stackoverflow.com/questions/1094841/reusable-library-to-get-human-readable-version-of-file-size
|
||||
Taken from http://stackoverflow.com/a/1094933/2028598
|
||||
"""
|
||||
for x in ["bytes","KB","MB","GB"]:
|
||||
if num < 1024.0:
|
||||
|
@ -89,3 +89,18 @@ def getNewTimeout(type):
|
|||
return now # timeout immediately for unknown timeout type
|
||||
|
||||
return now + settings().getFloat(["serial", "timeout", type])
|
||||
|
||||
|
||||
def getFreeBytes(path):
|
||||
"""
|
||||
Taken from http://stackoverflow.com/a/2372171/2028598
|
||||
"""
|
||||
if sys.platform == "win32":
|
||||
import ctypes
|
||||
freeBytes = ctypes.c_ulonglong(0)
|
||||
ctypes.windll.kernel32.GetDiskFreeSpaceExW(ctypes.c_wchar_p(path), None, None, ctypes.pointer(freeBytes))
|
||||
return freeBytes.value
|
||||
else:
|
||||
st = os.statvfs(path)
|
||||
return st.f_bavail * st.f_frsize
|
||||
|
||||
|
|
Loading…
Reference in New Issue