From 1234c503fa6d3abf9df3e7b47710764a45d72643 Mon Sep 17 00:00:00 2001 From: 3eef8a28f26fb2bcc514e6f1938929a1f931762 <116031952+3eef8a28f26fb2bcc514e6f1938929a1f931762@users.noreply.github.com> Date: Sun, 12 Feb 2023 01:18:44 -0500 Subject: [PATCH] Clean up some stuff and handle courses that haven't been offered yet properly --- src/GenerateHtml.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/GenerateHtml.cpp b/src/GenerateHtml.cpp index 8de01a2..6b933e4 100644 --- a/src/GenerateHtml.cpp +++ b/src/GenerateHtml.cpp @@ -208,6 +208,7 @@ void generate_course_page(const std::string& course_id, const auto& latest_term = terms_offered["latest_term"].asString(); const auto& credits = terms_offered[latest_term]["credits"]; const auto& credit_string = generate_credit_string(credits); + const auto& credit_string_long = credit_string + " " + (credits["credMax"].asInt() == 1 ? "credit" : "credits"); if(catalog_entry) { description = catalog_entry["description"].asString(); @@ -273,7 +274,7 @@ void generate_course_page(const std::string& course_id, tag(os,TAG::END,"p"); tag(os,TAG::BEGIN,R"(div id="cattrs-container")"); tag(os,TAG::BEGIN,R"(span id="credits-pill" class="attr-pill")"); - tag(os,TAG::INLINE) << credit_string << " " << (credits["credMax"].asInt() == 1 ? "credit" : "credits") << '\n'; + tag(os,TAG::INLINE) << credit_string_long << '\n'; tag(os,TAG::END,"span"); generate_attributes(prereqs_entry["attributes"],os); tag(os,TAG::END,"div"); @@ -296,6 +297,7 @@ void generate_course_page(const std::string& course_id, } std::string generate_credit_string(const Json::Value& credits) { + if(credits == Json::Value::null) return "?"; const int credMin = credits["min"].asInt(); const int credMax = credits["max"].asInt(); return (credMin == credMax) ? std::to_string(credMin) : (std::to_string(credMin) + "-" + std::to_string(credMax));