def test_get_file_type(self): self.assertEquals("jpg", FileUtils.get_file_type("img001.jpg")) self.assertEquals("jpeg", FileUtils.get_file_type("img001.JPeg")) self.assertEquals("jpg", FileUtils.get_file_type("img001.JPG")) self.assertEquals("jpg", FileUtils.get_file_type("img.001.JPG")) self.assertEquals("unrecognized", FileUtils.get_file_type("img001")) self.assertEquals( "thisisareallylongfileextension", FileUtils.get_file_type("img001.thisisareallylongfileextension")) self.assertEquals("unrecognized", FileUtils.get_file_type("")) self.assertEquals("error", FileUtils.get_file_type(None)) self.assertEquals("error", FileUtils.get_file_type(2))
def sort_file_type(fs_file): # Initialize type as other file_type = OTH_TAG tgt_folder = OTH_DIR # Get the extension f_ext = FileUtils.get_file_type(fs_file.get_filename()) # Check extension and switch to image or video if f_ext in IMG_TYPES: file_type = IMG_TAG tgt_folder = IMG_DIR elif f_ext in VID_TYPES: file_type = VID_TAG tgt_folder = VID_DIR return NavUtil.tag_file(fs_file, file_type, tgt_folder)
# @author Paul Ottley # @copyright 2017 # File used to start the FilesSorter launch import os from app import FileUtils STR_DIR3 = r"/Volumes/MyBook2TB/Backups/Library" STR_DIR4 = r"/Users/paulottley/Google Drive/MomsDadsPhotos" TGT_DIR1 = r"/Users/paulottley/Desktop/SortTarget" for root, dirs, files in os.walk(STR_DIR3): for file in files: ext = FileUtils.get_file_type(file) FileUtils.move_file(root + os.sep + file, STR_DIR3 + os.sep + ext + os.sep, file) # Step 1 Walk the directory # Step 2 Determine filetype by extension # Step 3 Move to appropriate folder
# Check date of original file # Parse date # Find mp4 file of same name # Update date for file in all_files1: print("Before Filename: {0} date: {1} filename parser date: {2}".format( file.get_filename(), file.get_date_taken(), ImageUtils.get_dt_from_parser(file.get_full_path()))) file_type = FileUtils.get_file_type(file.get_filename()) date = ImageUtils.get_dt_from_name(file.get_filename()) """ if file_type != "mp4" and file.get_type() != Rules.get_oth_tag(): full_path = file.get_full_path() mp4_full_path = full_path.replace("." + file_type, ".mp4") # mp4_full_path = full_path.replace("." + file_type.swapcase(), ".mp4") print("Date: {0} Filename: {1}".format(date, mp4_full_path)) """ full_filename = file.get_full_path() pdate = ImageUtils.get_dt_from_parser(file.get_full_path()) dt = ImageUtils.get_dt_captured_split(date) if int(pdate[:4]) != int(date[:4]): ImageUtils.set_date(file.get_full_path(), date, dt.year, dt.month, dt.day) # print("Moving..." + full_filename) # FileUtils.move_file(full_filename, r"/Volumes/Elements2TB/Backups/Library/Date_Error/", file.get_filename())