diff --git a/folder_unzipper.gd b/folder_unzipper.gd index 8e1cdbdf..8b6b8b2f 100644 --- a/folder_unzipper.gd +++ b/folder_unzipper.gd @@ -6,6 +6,7 @@ signal file_copied(count: int, name: String) signal finished() func extract(zip_path: String, extract_path: String, extract_in_subfolder: bool = true) -> String: + Logger.trace("FolderUnzipper: Extracting %s to %s" % [zip_path, extract_path]) var err: Error = open(zip_path) if err != OK: Logger.error("FolderUnzipper: Error " + error_string(err) + " while opening file: %s" % zip_path) @@ -14,6 +15,7 @@ func extract(zip_path: String, extract_path: String, extract_in_subfolder: bool var all_files: PackedStringArray = get_files() file_count.emit(all_files.size()) + Logger.trace("FolderUnzipper: %d files found" % all_files.size()) var copied_file: int = 0 var first_folder: String = "" @@ -28,10 +30,12 @@ func extract(zip_path: String, extract_path: String, extract_in_subfolder: bool if file != null: file.store_buffer(read_file(sub_path)) file.close() + Logger.trace("FolderUnzipper: Copied %s" % file_name) copied_file += 1 file_copied.emit(copied_file, file_name) close() finished.emit() + Logger.trace("FolderUnzipper: Extraction finished in %s" % extract_folder) return first_folder diff --git a/folder_zipper.gd b/folder_zipper.gd index 0df2dae5..2fcb337a 100644 --- a/folder_zipper.gd +++ b/folder_zipper.gd @@ -21,6 +21,7 @@ func write_folder_recursive(abs_path: String, rel_path: String) -> Error: if error != OK: return error else: + Logger.trace("FolderZipper: Adding %s" % current_rel_path) var error: Error = start_file(current_rel_path) if error != OK: return error @@ -39,6 +40,7 @@ func write_folder_recursive(abs_path: String, rel_path: String) -> Error: func compress(path: String, output_name: String) -> void: + Logger.trace("FolderZipper: Compressing %s into %s" % [path, output_name]) var err: Error = open(output_name, ZIPPacker.APPEND_CREATE) if err != OK: Logger.error("FolderZipper: Error " + error_string(err) + " while opening archive: %s" % output_name) @@ -48,3 +50,4 @@ func compress(path: String, output_name: String) -> void: if err != OK: Logger.error("FolderZipper: Error " + error_string(err) + " while compressing folder: %s" % path) close() + Logger.trace("FolderZipper: Compression completed -> %s" % output_name) diff --git a/sources/menus/language_selection/package_downloader.gd b/sources/menus/language_selection/package_downloader.gd index 50bdc84b..8d291f91 100644 --- a/sources/menus/language_selection/package_downloader.gd +++ b/sources/menus/language_selection/package_downloader.gd @@ -36,6 +36,8 @@ var current_language_version: Dictionary = {} func _ready() -> void: await get_tree().process_frame + Logger.trace("PackageDownloader: Starting with device language %s" % UserDataManager.get_device_settings().language) + # Check the teacher settings, if we are logged in (this scene should not be accessible otherwise) var teacher_settings: TeacherSettings = UserDataManager.teacher_settings if not teacher_settings: @@ -47,6 +49,7 @@ func _ready() -> void: current_language_path = USER_LANGUAGE_RESOURCES_PATH.path_join(device_language) current_language_version = UserDataManager.get_device_settings().language_versions.get(device_language, {}) + Logger.trace("PackageDownloader: Checking internet access") if not await ServerManager.check_internet_access(): # Offline mode, if a pack is already downloaded, go to next scene if DirAccess.dir_exists_absolute(current_language_path): @@ -60,6 +63,7 @@ func _ready() -> void: # Gets the info of the language pack on the server var res: Dictionary = await ServerManager.get_language_pack_url(device_language) + Logger.trace("PackageDownloader: Language pack info received with code %d" % res.code) if res.code == 200: server_language_version = Time.get_datetime_dict_from_datetime_string(res.body.last_modified as String, false) # Authentication failed, disconnect the user @@ -93,6 +97,7 @@ func _ready() -> void: # Download the pack http_request.set_download_file(USER_LANGUAGE_RESOURCES_PATH.path_join(device_language + ".zip")) + Logger.trace("PackageDownloader: Downloading pack from %s" % res.body.url) http_request.request(res.body.url as String) else: download_bar.value = 1 @@ -134,6 +139,8 @@ func _copy_data(this: PackageDownloader) -> void: if not FileAccess.file_exists(USER_LANGUAGE_RESOURCES_PATH.path_join(device_language + ".zip")): return + Logger.trace("PackageDownloader: Extracting downloaded package") + var language_zip: String = device_language + ".zip" var language_zip_path: String = USER_LANGUAGE_RESOURCES_PATH.path_join(language_zip) @@ -163,9 +170,12 @@ func _copy_data(this: PackageDownloader) -> void: var error: Error = DirAccess.rename_absolute(USER_LANGUAGE_RESOURCES_PATH.path_join(subfolder), current_language_path) if error != OK: Logger.error("PackageDownloader: Error " + error_string(error) + " while renaming folder from %s to %s" % [USER_LANGUAGE_RESOURCES_PATH.path_join(subfolder), current_language_path]) + else: + Logger.trace("PackageDownloader: Package extracted to %s" % current_language_path) # Cleanup unnecessary files DirAccess.remove_absolute(language_zip_path) + Logger.trace("PackageDownloader: Removed temporary archive %s" % language_zip_path) # Go to main menu this.call_thread_safe("_go_to_next_scene") @@ -197,6 +207,7 @@ func _go_to_next_scene() -> void: func _on_http_request_request_completed(_result: int, response_code: int, _headers: PackedStringArray, _body: PackedByteArray) -> void: + Logger.trace("PackageDownloader: Download completed with HTTP code %d" % response_code) if response_code == 200: mutex = Mutex.new() thread = Thread.new()