cygnus/update_fortune.py

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)