In order to receive credit for this assignment, your solution must be submitted, using the handin command, by 8 AM, Monday, June 5th, 2006. I will zip your files and move them to my directory at that time. You may submit your solution before the deadline as many times as you like; only your final submission will be considered. However, for multiple submissions, it's best to use the same names for files, since only those will be overwritten by your submission.
The purpose of this assignment is to help you to become familiar with the Python language and building a Graphical User Interface (GUI).
Using your first assignment, or mine, as a starting point, construct a GUI that permits the user to easily delete unnecessary files.
Recall that your first assignment was a python program that searched directories, starting from the current directory, and deleted all files with the following suffixes: *.o, *.bak, *.pyc and all occurrences of a.out. Also, before deleting a file with .bak extension, your program prompted the user to ask if it should be deleted. Your program start at the current directory and recurse through all subdirectories.
In this second you will build a GUI for the file manager, similar to the one illustrated in Figure 1. Your GUI should have an area, listed with scrolling features, where the deleted programs are listed, buttons to allow the user to choose to delete a file with .bak extension, and an exit button. Also, write, or extend, a program that populates the current directory with a subdirectory and further subdirectories of files for deletion and provide a button to populate this directory and remove it.
Your program must be written in Python and must contain documentation in the form of a readme file. The readme should contain your name and other important information about you and the assignment; for example, what your assignment does, what it fails to do, anything extra or clever that you have done beyond the assignment specification, and how to run your program.
You must use one of the Python MegaWidgits as your starting point; please indicate in your readme which PMW that you used. You can modify or extend the PMW in any way that you wish, but your submitted solution must have a class as its principle unit of encapsulation.
You must submit your assignment using the handin command.
Here is the handin command:
handin.372.1 2 *