Skip to content

Commit

Permalink
Add clean option for src.web.main
Browse files Browse the repository at this point in the history
"-c" flag to clean out files generated by src.web.precomp before running
the app. Warns user if skip-precompute is also called.
  • Loading branch information
SpookyYomo committed Aug 5, 2024
1 parent 7f8d400 commit 941ad46
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 6 deletions.
10 changes: 9 additions & 1 deletion src/web/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import logging

from src.web.app import app
from src.web.precomp import generate_pages
from src.web.precomp import clean_pages, generate_pages


def main() -> None:
Expand All @@ -19,8 +19,16 @@ def main() -> None:
help="Port where the app is run.")
parser.add_argument("-s", "--skip-precompute", action="store_true",
help="Use existing static pages instead of re-computing them.")
parser.add_argument("-c", "--clean", action="store_true",
help="Cleans prior generated pages prior to running app.")
args = parser.parse_args()

if args.clean:
clean_pages()
if args.clean and args.skip_precompute:
logger.warning("Cleaned pages but not rebuilding! Consider not using "
"--skip-precompute with --clean!")

if not args.skip_precompute:
generate_pages()

Expand Down
15 changes: 10 additions & 5 deletions src/web/precomp.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,23 @@
from src.web.app import app


def clean_pages() -> None:
"""Tries deleting all generated pages."""
try:
shutil.rmtree("src/web/static/pages")
logger.debug("Removed src/web/static/pages")
except FileNotFoundError:
logger.debug("src/web/static/pages not found and hence not removed.")


def generate_pages() -> None:
years = ["2122", "2223", "2324", "2425"]
semesters = ["1", "2"]
student_types = ["ug", "gd"]

combinations = itertools.product(years, semesters, student_types)

try:
shutil.rmtree("src/web/static/pages")
except FileNotFoundError:
pass

logger.info("Generating all pages...")
for year, semester, student_type in combinations:
generate_html(year, semester, student_type)

Expand Down

0 comments on commit 941ad46

Please sign in to comment.