From cd77e205f3ff2b7a6e206eb88e4269c055f3d75f Mon Sep 17 00:00:00 2001 From: vangef Date: Wed, 1 Mar 2023 00:18:35 +0000 Subject: [PATCH] added remove_trailing_spaces_from_filenames() --- organise_gradebook.py | 3 ++- utils/organiser.py | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/organise_gradebook.py b/organise_gradebook.py index d9b956f..9661a38 100644 --- a/organise_gradebook.py +++ b/organise_gradebook.py @@ -1,5 +1,5 @@ import os, sys -from utils.organiser import organise_gradebook, check_submissions_dir_for_compressed +from utils.organiser import organise_gradebook, check_submissions_dir_for_compressed, remove_trailing_spaces_from_filenames def main(): gradebook_name = ' '.join(sys.argv[1:]) if len(sys.argv) > 1 else exit(f'\nNo gradebook name given. Provide the name as an argument.\n\nUsage: python {sys.argv[0]} [gradebook dir name]\n') @@ -9,6 +9,7 @@ def main(): abs_path = os.getcwd() # absolute path of main/this script print(f'\nGradebook directory to organise: {os.path.join(abs_path, gradebook_dir)}') + remove_trailing_spaces_from_filenames(gradebook_dir) organise_gradebook(gradebook_dir, submissions_dir) check_submissions_dir_for_compressed(submissions_dir) diff --git a/utils/organiser.py b/utils/organiser.py index 9d183fe..5d0c67f 100644 --- a/utils/organiser.py +++ b/utils/organiser.py @@ -3,6 +3,17 @@ from utils.extractor import extract_file_to_dir BAD_DIR_NAME = '__BAD__' +def remove_trailing_spaces_from_filenames(gradebook_dir): + for filename in os.listdir(gradebook_dir): + if BAD_DIR_NAME not in filename: + name, ext = os.path.splitext(filename) # separate file name from extension + if name != name.rstrip(): + new_filename = name.rstrip() + ext # remove trailing spaces from file name and combines with extension + new_file_path = os.path.join(gradebook_dir, new_filename) + old_file_path = os.path.join(gradebook_dir, filename) + os.rename(old_file_path, new_file_path) # rename file + + def validate_gradebook_dir_name(src_dir): if not os.path.isdir(src_dir): # check if it exists and is a directory print(f"\n[Error] Incorrect directory: {src_dir}\n[Info] Make sure the directory exists in 'BB_gradebooks'")