import time import glob from distutils.version import LooseVersion as V import requests from six import iteritems try: from BeautifulSoup import BeautifulSoup except ImportError: from bs4 import BeautifulSoup as BeautifulSoup_ try: # Use html5lib for parsing if available import html5lib BeautifulSoup = lambda page: BeautifulSoup_(page, 'html5lib') except ImportError: BeautifulSoup = lambda page: BeautifulSoup_(page, 'html.parser') from .cookies import (AuthenticationFailed, ClassNotFound, get_cookies_for_class, make_cookie_values) from .credentials import get_credentials, CredentialsError from .define import CLASS_URL, ABOUT_URL, PATH_CACHE from .downloaders import get_downloader from .utils import clean_filename, get_anchor_format, mkdir_p, fix_url from .utils import decode_input # URL containing information about outdated modules _see_url = " See https://github.com/coursera-dl/coursera/issues/139" # Test versions of some critical modules.
def beautiful_soup(page): from bs4 import BeautifulSoup as BeautifulSoup_ return BeautifulSoup_(page, 'html.parser')
This module provides utility functions that are used within the script. """ import errno import os import random import re import string import sys import logging import six from bs4 import BeautifulSoup as BeautifulSoup_ # Force us of bs4 with html5lib BeautifulSoup = lambda page: BeautifulSoup_(page, 'html5lib') from .define import COURSERA_URL, WINDOWS_UNC_PREFIX from six.moves import html_parser from six import iteritems from six.moves.urllib.parse import ParseResult from six.moves.urllib_parse import unquote_plus # six.moves doesn’t support urlparse if six.PY3: # pragma: no cover from urllib.parse import urlparse, urljoin else: from urlparse import urlparse, urljoin # Python3 (and six) don't provide string
def BeautifulSoup(page): return BeautifulSoup_(page, 'html.parser')