Difference between revisions of "OPS435 A1 Usage Report Template"

From CDOT Wiki
Jump to: navigation, search
(A1 Usage Report Template)
 
Line 1: Line 1:
 +
[[Category:OPS435]][[Category:rchan]]
 
= A1 Usage Report Template =
 
= A1 Usage Report Template =
 
Please note that the following listing contains some actual python codes, but mostly are pseudo code.
 
Please note that the following listing contains some actual python codes, but mostly are pseudo code.

Revision as of 08:22, 20 February 2018

A1 Usage Report Template

Please note that the following listing contains some actual python codes, but mostly are pseudo code.

#!/usr/bin/env python3
#
# authorship declaration
#
# Author: Raymond Chan
# Date: Feb 2018
#

import os 
import sys

import ...

def menu(title,items,choice):
    selection = ''
    while selection not in choice:
        print(title)
        print('=' * len(title))
        for item in items:
            print(item)
        selection = input('menu choice -->')
    return selection

def get_login_rec():
    # get records from the last command
    # filter out the unwanted records
    # add filtered record to list (login_recs)
    return login_recs
 
def read_login_rec(filelist):
    # get records from given filelist
    # open and read each file from the filelist
    # filter out the unwanted records
    # add filtered record to list (login_recs) 
    return login_rec

def cal_daily_usage(subject,login_recs)
    # check number of subjects in login_recs
    # if less than 10, display subject selection menu
    # for each subject, process daily usage
    # dispaly daily usage
    return 0

def cal_weekly_usage(subject,login_recs)
    # check number of subjects in login_recs
    # if less than 10, display subject selection menu
    # for each subject, process weekly usage
    # display weekly usage
    return 0

def cal_monthly_usage(subject,login_recs)
    # check numbe of subjects in login_recs
    # if less than 10, display subject selection menu
    # for each subject, process monthly usage
    # display monthly usage
    return 0
     
if __name__ == '__main__':
    # retrieve command line argument

    # set menu and submenu display text
    menu_title = 'Usage Report - Main Menu'
    menu_items = []
    menu_items.append('d) Diaily Usage Report')
    menu_items.append('w) Weekly Usage Report')
    menu_items.append('m) Monthly Usage Report')
    menu_items.append('q) Quit')
    menu_options = ['d','w','m','q']

    dumenu_title = 'Daily Usage Report Menu'
    dumenu_items = []
    dumenu_items.append('u) By User')
    dumenu_items.append('h) By Remote Host')
    dumenu_items.append('r) Return to Main Menu')
    dumenu_options = ['u','h','r']

    wumenu_title = 'Weekly Usage Report Menu'
    wumenu_items = []
    wumenu_items.append('u) By User')
    wumenu_items.append('h) By Remote Host')
    wumenu_items.append('r) Return to Main Menu')
    wumenu_options = ['u','h','r']

    mumenu_title = 'Monthly Usage Report Menu'
    mumenu_items = []
    mumenu_items.append('u) By User')
    mumenu_items.append('h) By Remote Host')
    mumenu_items.append('r) Return to Main Menu')
    mumenu_options = ['u','h','r']

    menu_selected = ''
    while menu_selected != 'q':
        menu_selected = menu(menu_title,menu_items,menu_options)
        print('You have selected:', menu_selected)

        if menu_selected == 'd':
            dumenu_selected = ''
            while dumenu_selected != 'r':
                dumenu_selected = menu(dumenu_title,dumenu_items,dumenu_options)
                print('You have selected:',dumenu_selected)
                if dumenu_selected == 'u':
                     print('Call Daily Usage Report by User.')

                if dumenu_selected == 'h':
                     print('Call Daily Usage Report by Remote host.')

        if menu_selected == 'w':
             # call Weekly Usage report menu and submenu

        if menu_selected == 'm':
             # call Monthly Usage report menu and submenu

    print('Thank you for using this Python program.')