Skip to content

Instantly share code, notes, and snippets.

@heisid
Created August 27, 2021 05:02
Show Gist options
  • Save heisid/f49d51a1a2e560906db1df9f14294b44 to your computer and use it in GitHub Desktop.
Save heisid/f49d51a1a2e560906db1df9f14294b44 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
from shutil import disk_usage
from http.server import BaseHTTPRequestHandler, HTTPServer
class WebServer(BaseHTTPRequestHandler):
def get_info(self):
path = '/'
total, used, free = disk_usage(path)
return 'Total: {:6.2f}GB<br>'.format(total / 10**9) \
+ 'Used: {:6.2f}GB<br>'.format(used / 10**9) \
+ 'Free: {:6.2f}GB<br>'.format(free / 10**9)
def do_GET(self):
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
self.wfile.write(bytes('<html><head><title>Disk Information</title></head>', 'utf-8'))
self.wfile.write(bytes('<body>', 'utf-8'))
self.wfile.write(bytes('<h2>Disk Information</h2>', 'utf-8'))
self.wfile.write(bytes(f'<p>{self.get_info()}</p>', 'utf-8'))
self.wfile.write(bytes('</body></html>', 'utf-8'))
if __name__ == '__main__':
PORT = 8000
webserver = HTTPServer(('', PORT), WebServer)
try:
webserver.serve_forever()
except KeyboardInterupt:
pass
webserver.server_close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment