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",
|
"date": "n/a",
|
||||||
"origin": "sd"
|
"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"])
|
@app.route(BASEURL + "gcodefiles/<path:filename>", methods=["GET"])
|
||||||
def readGcodeFile(filename):
|
def readGcodeFile(filename):
|
||||||
|
|
|
@ -385,6 +385,10 @@ ul.dropdown-menu li a {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Control tab */
|
/** Control tab */
|
||||||
|
|
|
@ -784,6 +784,8 @@ function GcodeFilesViewModel(printerStateViewModel, loginStateViewModel) {
|
||||||
self.isLoading = ko.observable(undefined);
|
self.isLoading = ko.observable(undefined);
|
||||||
self.isSdReady = ko.observable(undefined);
|
self.isSdReady = ko.observable(undefined);
|
||||||
|
|
||||||
|
self.freeSpace = ko.observable(undefined);
|
||||||
|
|
||||||
// initialize list helper
|
// initialize list helper
|
||||||
self.listHelper = new ItemListHelper(
|
self.listHelper = new ItemListHelper(
|
||||||
"gcodeFiles",
|
"gcodeFiles",
|
||||||
|
@ -884,6 +886,8 @@ function GcodeFilesViewModel(printerStateViewModel, loginStateViewModel) {
|
||||||
self.listHelper.switchToItem(function(item) {return item.name == response.filename});
|
self.listHelper.switchToItem(function(item) {return item.name == response.filename});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self.freeSpace(response.free);
|
||||||
|
|
||||||
self.highlightFilename(self.printerState.filename());
|
self.highlightFilename(self.printerState.filename());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -186,6 +186,9 @@
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
<div class="muted text-right">
|
||||||
|
<small>Free: <span data-bind="text: freeSpace"></span></small>
|
||||||
|
</div>
|
||||||
<div class="pagination pagination-mini pagination-centered">
|
<div class="pagination pagination-mini pagination-centered">
|
||||||
<ul>
|
<ul>
|
||||||
<li data-bind="css: {disabled: listHelper.currentPage() === 0}"><a href="#" data-bind="click: listHelper.prevPage">«</a></li>
|
<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):
|
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"]:
|
for x in ["bytes","KB","MB","GB"]:
|
||||||
if num < 1024.0:
|
if num < 1024.0:
|
||||||
|
@ -89,3 +89,18 @@ def getNewTimeout(type):
|
||||||
return now # timeout immediately for unknown timeout type
|
return now # timeout immediately for unknown timeout type
|
||||||
|
|
||||||
return now + settings().getFloat(["serial", "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