The Python program provided in this repository collects, summarizes, and emails all the programming assignments for for the course CSC 344 -Programming Languages.
Folder Structure The assignments should be organized in the following folder structure:
csc344
├── a1
├── a2
├── a3
├── a4
└── a5
Each assignment folder (a1, a2, etc.) should contain the corresponding programming assignment.
The Python program performs the following tasks:
- Creates a summary HTML file for each assignment, containing the following information:
- Name of each source file, linked to the file itself
- Number of lines in the file
- Alphabetized list of all identifiers used in the program (class, function, rule, variable names), excluding duplicates and commented text
- Creates a valid HTML web page called index.html in the csc344 directory, which provides links to each of the summary files.
- Creates a tar.gz file that includes all the assignment source files (excluding non-sources such as executables and .class files) and the HTML files created in the previous step.
- Prompts the user for an email address and sends the tar.gz file via email using the mutt command-line tool.
- Organize your assignments in the folder structure as described above.
- Run the Python program and follow the instructions prompted by the program.
- Enter the path of the directory where the assignments are stored.
- The program will generate summary HTML files for each assignment and create an index.html file with links to the summaries.
- The program will create a tar.gz file containing all the assignment sources and HTML files.
- Enter the email address to which you want to send the tar.gz file.
- The program will send the email with the tar.gz file attached.
- Python 3.x
- mutt command-line tool (used for sending emails)
- Keywords and built-in functions are not filtered from the identifiers list.
- Punctuation that is not part of names will be excluded from the identifiers list.
- Commented text will be excluded from the identifiers list.