A python based application designed to automate tasks related to Training and Placement Cell, KNIT Sultanpur.
The application has got different panels based on its functionalities.
It deals in:
1. Fetching data of students from website knit.ac.in
2. Organizing and Presenting them (The Extract Sheets Panel)
3. Filtering them as per company's criteria (The Import Sheets Panel)
4. Automating emailing and message sending to students regarding any formal announcements from Career Development Cell (The Message Broadcasting Panel)
The application on the whole helps in analyzing and filtering the data of students who qualify the criteria of the companies visiting the campus in a few clicks.
1. Semester-wise marks of the students
2. Status of the students (Passed, Failed, Backlogged)
3. Carry over marks of each semester (if applicable)
4. Pending backlogs.
5. Unfair means flag (to keep a check on the conduct)
Besides, the database presentation section has been divided into a few different tabs to get needed insight into it and not more.
Users need to select the required details and can save the extracted data to any desired location
by browsing with ‘Extract and Save As’ button.The tab division are as follows:
1. Precise Sheet (shows only semester-wise-carry-over-results updated marks)
2. Carry Overs Sheet (shows only carry-over details of the student(s))
3. Detailed Sheet (detailed including semester marks, carry-overs, pending backlogs and status all at once)
4. Branch Changers (the students list who switch branches after first year)
5. UFM (the students who are found doing any misconduct in examination)
1. Percentage Range
2. Year Gaps
3. Date Of Birth
4. Number of Backlogs allowed
One needs to browse in a sheet and explicitly set one or more criteria to be applied onto the sheet. Clicking ‘Save’ button saves changes to the same sheet while clicking on the ‘Save As’ button creates a new file at the desired location.
The Panel has been specifically designed for merging sheets. The sheets can only be merged if the two sheets to be merged contain ROLL as the common column. Mail Broadcasting: This feature of the application is specific to sending mail to one or a group of email id. The mail can only be send by/to the Gmail users. The list of receiver’s email address needs to be a .txt file with successive email id on each new line. This file can be selected from ‘Browse file of the recipients’ button in the panel.SMS Broadcasting: This feature of the application is for sending short messages to a list of mobile numbers.
Data Extraction: urllib2, bs4/beautifulSoup
GUI Development: wx
Database: MySQLdb
Working with Excel: xlrd, xlwt, pandas, numpy, prettyTable
Email and SMS: email, smtplib, socket, cookielib, getpass, datetime
General Modules: os, sys, collections