OPS435 Python Assignment 3

From CDOT Wiki
Revision as of 17:07, 13 November 2018 by Rchan (talk | contribs)
Jump to: navigation, search

Assignment 3 - Class Cancellation Notification (CCN)

Weight: 15% of the overall grade

Due Date: Ask your professor for exact date

Late Penalty: 20% per school day, and note that this assignment in an alternative to assignment 2. Same rules applied to this assignment as assignment 2

Overview

As most system administrators, you would like to offer email notification to your users based on the event that triggers it. In a school environment, classes may be cancelled in a daily basis and the classes being cancelled may be posted to a web site and it is up to the students to check it out. If you do not check the class cancellation web site before heading to your class, you may be disappointed when you get there and find out that your class has been cancelled. It would be nice if you can get an email send to you for any class cancellation before you leave home for the class. For this assignment, you are going to write a script to poll data from the class cancellation web site (any given web site, but you can use the web page here for testing purpose) and send an email to any body subscribe to you email notification service ( a sample subscription web page here that their classes have been cancelled.

Instruction

Program Name and valid command line arguments

Name your Python3 script as ccn_[student_id].py. Create a symbolic link to your script as ccn.py (e.g. use the command ln -s ccn_rchan.py ccn.py to create the link) so that you can refer to your script as ccn.py. Your script must accept one or more "web site" as its command line parameters and other optional parameters as shown below. Your python script should produce the following usage text when run with the --help option:

[rchan@centos7 a1]$ python3 ./ccn.py -h
usage: ccn.py [-h] [-n CCN ] F [F ...]

Class Cancellation Notification 

positional arguments:
  F                     list of CCN subscription web pages

optional arguments:
  -h, --help            show this help message and exit
  -c , --class USER  Class Cancellation web site 
  -v, --verbose         tune on output verbosity

Copyright 2018 - Raymond Chan 

Replace the last line with your own full name


If there is one CCN subscription web page provided at the command line, read the subscription list from the given web page. The format of.

If there is more than one CCN subscription web page provided, merge all the subscription list with the first one at the top and the last one at the bottom. Read and process the subscription list in that order in your program.