Git Product home page Git Product logo

automatic-file-sorter's People

Contributors

arjunkay avatar kreateer avatar maciejkarasek avatar polynoman avatar pushp1997 avatar saptarsi96 avatar wang-joseph avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

automatic-file-sorter's Issues

Add more file types

Goal

  • Add more (common) file types for the program to recognize.

Details

  • The program needs to recognize more (common) file types to move or copy by adding them to the appropriate list
  • File types like .xlsx (Excel), .pptx (PowerPoint) and more that are commonly used and any other file types anyone thinks would be good to add

NOTE: This Issue will remain Open and accept any number of contributions until decided otherwise**

Create option to overwrite existing files

Goal

  • Allow the user to choose whether to overwrite existing files or not.

Details

  • When the user enables this option, any existing files in the destination directory should be overwritten (deleted and then copied or moved again) or replaced by the newer version of the file.
  • When disabled, all existing files are not overwritten and instead another copy is made for each file.
  • This function depends on user interaction (when user clicks button/ticks checkbox etc.), so a GUI option must be made for it using PySimpleGUI

Allow the user to choose whether to copy or move files to destination

Goal

  • Program allows the user to choose whether to copy or move files from source to destination.

Details

  • The program should give the user a choice between copying or moving the files from source to destination. Preferably, this would be a GUI dropdown or checkbox option when the program is run, either as a popup window or part of a main GUI.
  • The GUI has to be created using PySimpleGUI

Create a GUI option that asks user if and how they wish to sort files

Goal

  • Asks user if they want to sort the files by specific criteria (name, date, size etc.).

Details

  • When the program launches, the GUI window should have an option that asks the user for source/destination folder and how or if they wish to sort the files based on one or several additional criteria (name, date, size, etc.).
  • This issue is in tandem with issue #1

Create bulk file rename option

Goal

  • Create an option to bulk rename files

Details

  • Create a GUI option that will rename all files and/or specific files to whatever the user inputs or whichever preset option they choose
  • Preset options can be something like making a numbered list (1, 2, 3, 4...), changing letter case, appending text to filenames etc.

Create option to automatically sort all known file types into their respective folders

Goal

  • When option is enabled, sort all known file types from source to destination sub folder for each file type found.

Details

  • When the user enables this option in the GUI window, the program needs to read through the chosen source directory and move/copy each found file to a separate sub folder within the destination directory, based on file type

  • If there are no (more) files in the source directory, the program should show an Error to the user, notifying them of this

  • This option should be hidden until the user enables the 'Sort by Type' option, as it is directly tied to it. With PySimpleGUI, this can be done by specifying a key value for a Frame element and using the hidden parameter

Allow the script to run as a background process

Goal

  • Allow the script to work in the background and move (and sort) files until the user stops the program.

Details

  • When run, the script should continue to work in the background and automatically move (and sort) files from specified source to destination folder (based on chosen filters) until its manually terminated by the user.

Allow the user to choose whether to sort files into separate folders within destination directory

Goal

  • Allow the user to choose whether and how to sort files into separate folders within the chosen destination directory.

Details

  • When choosing sorting options, the user should also be given an option to specify whether they want the files to be sorted into separate folders within the destination directory or not, along with the option to sort them by file type.
  • If the user chooses this option, the program should create a new folder within the destination directory (if there were none before) and move or copy files into it.
  • Furthermore, if the user chooses to sort them by file type as well, then the program should create new folders within the destination directory for each chosen file type.
  • The GUI has to be created with PySimpleGUI.

Add a progress bar to the GUI

Goal

  • Create a progress bar to show Move/Copy progress

Details

  • Create a progress bar as part of the main window or as a separate GUI element to show progress of the current operation.

Create a sorting function that sorts moved or copied files based on user choice

Goal

  • Based on user choice, when moved or copied from source to destination folder, sort the files in the destination folder based on the criteria chosen.

Details

  • When the files are moved from source to destination, they should be sorted appropriately based on what criteria the user chooses for it.
  • This would be an optional function (checkbox or similar GUI option), as it wouldn't be desirable to use this in every case.
  • I.e. if the user chooses to sort by name, then the files in the destination folder would be listed by ascending or descending alphabetical order.

Improve Code Readability

Goal

  • Improve code readability

Details

  • Improve code readability by introducing helpful comments in harder-to-understand areas of the script and removing or modifying redundant code.
  • This is important to do now rather than later, since more features will be worked on after first Release

Pressing cancel on source/dest folder selection does not work. <BUG>

Please describe the issue in detail here.
Pressing the cancel button on either the source or destination folders does not exit the program as expected, but instead continues as if the user had provided a valid folder. Upon clicking 'OK' on the main options menu, however, the program will crash with the following stack trace (line numbers may be slightly off):

Traceback (most recent call last):
  File "fmain.py", line 245, in <module>
    main_gui.main_window()
  File "fmain.py", line 68, in main_window
    run_fmover.filemover(values['OPERATION'], None, values['OVERWRITE'])
  File "fmain.py", line 143, in filemover
    num_files = len(os.listdir(get_path('src')))
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'None'

Describe the solution you'd like to implement
Simply checking if the user had pressed cancel at that menu and acting accordingly would solve this issue, but I've never used PySimpleGUI before and don't know how they implement everything.

Move/Copy does nothing in Linux [BUG]

Description of the Issue

  • Both Move and Copy operations do not actually move or copy files from source to destination folder upon pressing 'Ok', regardless of file type and additional options. Also, no errors are returned.
  • This bug has been found on Pop OS 20.04 LTS running in a virtual machine using VMWare Workstation Player 16.

Additional details

  • It's possible that the Linux filesystem has some kind of conflict with the program that is not allowing the files to be moved. However, in that case a security error of some kind would be expected from the OS, but no errors are shown.
  • Other than that, the issue may lie with shutil or the way the program processes file paths.

Ask user to skip or add unknown file type(s) to list of known types

Goal

  • Ask user whether to skip or add unknown file type(s) to list of known types

Details

  • After the program iterates through files within the chosen source directory, it should ask the user whether to skip over unknown file types or add them as known file types

  • If user chooses to skip the files with unknown file types, the program should resume and move/copy all other found files

  • If user chooses to add the unknown file types to memory, the program should save the new file types into a list and resume to move/copy them along with all the other files

Add browsing for src/dst directory into main GUI window

Goal

  • Remove popup windows and add them as static GUI element to browse Source/Destination directories.

Details

  • Instead of having the program show popups to browse for Source and Destination directories, it would be more convenient to have the popups re-added as static GUI elements to the main window.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.