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)