in prompts/khanacademy/khan_dl/khan_dl.py [0:0]
def get_courses(self, selected_domain_url: str) -> Tuple[List[str], List[str]]:
"""Returns the list of courses on a domain"""
courses, courses_url = [], []
print("\nDownloading Courses...\n")
try:
selected_domain_page = BeautifulSoup(
requests.get(selected_domain_url).text, "lxml"
)
except requests.ConnectionError as e:
print("Error Connecting!\n", e)
sys.exit(1)
except requests.exceptions.HTTPError as errh:
print("Http Error:", errh)
sys.exit(1)
except requests.exceptions.ConnectionError as errc:
print("Error Connecting:", errc)
sys.exit(1)
except requests.exceptions.Timeout as errt:
print("Timeout Error:", errt)
sys.exit(1)
except requests.exceptions.RequestException as err:
print("OOps: Something Else", err)
sys.exit(1)
for course_header in selected_domain_page.find_all(
COURSE_HEAD["tag"], class_=COURSE_HEAD["class"]
):
course = course_header.find(
COURSE_URL["tag"], class_=COURSE_URL["class"]
).text
courses.append(course)
course_link = course_header.find(
COURSE_URL["tag"], class_=COURSE_URL["class"]
)
course_slug = course_link["href"]
courses_url.append(ROOT_URL + course_slug)
return courses, courses_url