From 77fbd6fe7f421caf7fcc69824a51b02e4056c8fe Mon Sep 17 00:00:00 2001 From: YeZheng Date: Wed, 1 Nov 2023 01:34:12 +0800 Subject: [PATCH] fix error when the file name contains special characters in windows --- edx_helper/__init__.py | 2 +- edx_helper/edx_dl.py | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/edx_helper/__init__.py b/edx_helper/__init__.py index aece342..a68d2bd 100644 --- a/edx_helper/__init__.py +++ b/edx_helper/__init__.py @@ -1 +1 @@ -__version__ = '0.6.2' +__version__ = '0.6.3' diff --git a/edx_helper/edx_dl.py b/edx_helper/edx_dl.py index 5122bc8..f45019f 100644 --- a/edx_helper/edx_dl.py +++ b/edx_helper/edx_dl.py @@ -477,8 +477,14 @@ def extract_units_from_vertical_block(vertical_block, headers, file_formats): """ Parses a webpage and extracts its resources e.g. video_url, sub_url, etc. """ - vertical_block_api = COURSE_XBLOCK_API + '/' + vertical_block.block_id + '?show_title=0&show_bookmark_button=0' \ - '&recheck_access=1&view=student_view' + params = { + 'exam_access': '', + 'show_title': 1, + 'show_bookmark': 0, + 'recheck_access': 1, + 'view': 'student_view' + } + vertical_block_api = COURSE_XBLOCK_API + '/' + vertical_block.block_id + '?%s' % urlencode(params) logging.debug("Extracting units from: \n'%s'", vertical_block_api) page_title = vertical_block.name @@ -928,7 +934,7 @@ def download_unit(unit, args, target_dir, filename_prefix, headers): filename_prefix) skip_or_download(res_downloads, headers, args) if isinstance(unit, WebpageUnit): - file_name = filename_prefix + '-' + unit.page_title + '.html' + file_name = filename_prefix + '-' + clean_filename(unit.page_title) + '.html' file_path = os.path.join(target_dir, file_name) skip_or_save(file_path, unit.content)