44 lines
1.3 KiB
Python
44 lines
1.3 KiB
Python
import datetime
|
|
from bs4 import BeautifulSoup
|
|
import os
|
|
|
|
file_name = "/var/www/html/index.html"
|
|
|
|
#if the file doesn't exist, we should copy the template to the folder
|
|
if not os.path.exists(file_name):
|
|
template_name = "index.html"
|
|
shutil.copy(template_name, file_name)
|
|
print("The index file was not available, so we've restored it from template.")
|
|
|
|
# Generate some data for the landing page!!
|
|
fortune = os.popen("/usr/games/fortune | /usr/games/cowsay").read()
|
|
|
|
drives_we_want = {"/dev/sda5", "Gliese 180 a", "Gliese 180 b", "55 CANCRI B"}
|
|
df_output = os.popen("/usr/bin/df -h").read()
|
|
df_output = [x for x in df_output.splitlines() if any(drive in x for drive in drives_we_want)]
|
|
for x in df_output: print(x)
|
|
|
|
the_time = datetime.datetime.now()
|
|
|
|
# Write the stuff to the webpage!
|
|
soup = None
|
|
|
|
with open(file_name, "r") as the_file:
|
|
soup = BeautifulSoup(the_file, features="html.parser")
|
|
|
|
fortune_holder = soup.find(id="fortune-container")
|
|
fortune_holder.string = fortune
|
|
|
|
drive_usage_holder = soup.find(id="drive-usage-container")
|
|
drive_usage_holder.string = "\n".join(df_output)
|
|
|
|
time_holder = soup.find(id="time-stamp")
|
|
time_holder.string = str(the_time)
|
|
|
|
with open(file_name, "w") as the_file:
|
|
the_file.write(str(soup))
|
|
|
|
print()
|
|
print("The emergency fortune system has set the fortune to")
|
|
print(fortune)
|