Difference between revisions of "OPS435 A1 Usage Report Template"

From CDOT Wiki
Jump to: navigation, search
(A1 Usage Report Template)
(A1 Usage Report Template)
Line 4: Line 4:
 
<pre>
 
<pre>
 
#!/usr/bin/env python3
 
#!/usr/bin/env python3
#
+
'''
# authorship declaration
+
  authorship declaration
#
+
 
# Author: Raymond Chan
+
  __author__ Raymond Chan
# Date: Feb 2018
+
  __date__ Feb 2018
#
+
  __version__ 1.0
 +
 +
  text to describe the purpose of this script
 +
'''
  
 
import os  
 
import os  
 
import sys
 
import sys
 
+
import time
  
 
def menu(title,items,choice):
 
def menu(title,items,choice):
 +
    ''' docstring for this function '''
 
     selection = ''
 
     selection = ''
 
     while selection not in choice:
 
     while selection not in choice:
Line 26: Line 30:
  
 
def get_login_rec():
 
def get_login_rec():
     # get records from the last command
+
     ''' docstring for this fucntion
     # filter out the unwanted records
+
    get records from the last command
     # add filtered record to list (login_recs)
+
     filter out the unwanted records
 +
     add filtered record to list (login_recs)'''
 
     return login_recs
 
     return login_recs
 
   
 
   
 
def read_login_rec(filelist):
 
def read_login_rec(filelist):
     # get records from given filelist
+
     ''' docstring for this function
     # open and read each file from the filelist
+
    get records from given filelist
     # filter out the unwanted records
+
     open and read each file from the filelist
     # add filtered record to list (login_recs)  
+
     filter out the unwanted records
 +
     add filtered record to list (login_recs)'''
 
     return login_rec
 
     return login_rec
  
 
def cal_daily_usage(subject,login_recs):
 
def cal_daily_usage(subject,login_recs):
     # check number of subjects in login_recs
+
     ''' docstring for this function
     # if less than 10, display subject selection menu
+
    check number of subjects in login_recs
     # for each subject, process daily usage
+
     if less than 10, display subject selection menu
     # dispaly daily usage
+
     for each subject, process daily usage
 +
     dispaly daily usage'''
 
     return 0
 
     return 0
  
 
def cal_weekly_usage(subject,login_recs):
 
def cal_weekly_usage(subject,login_recs):
     # check number of subjects in login_recs
+
     '''check number of subjects in login_recs
     # if less than 10, display subject selection menu
+
     if less than 10, display subject selection menu
     # for each subject, process weekly usage
+
     for each subject, process weekly usage
     # display weekly usage
+
     display weekly usage'''
 
     return 0
 
     return 0
  
 
def cal_monthly_usage(subject,login_recs):
 
def cal_monthly_usage(subject,login_recs):
     # check numbe of subjects in login_recs
+
     '''check numbe of subjects in login_recs
     # if less than 10, display subject selection menu
+
     if less than 10, display subject selection menu
     # for each subject, process monthly usage
+
     for each subject, process monthly usage
     # display monthly usage
+
     display monthly usage'''
 
     return 0
 
     return 0
 
      
 
      
 
if __name__ == '__main__':
 
if __name__ == '__main__':
     # retrieve command line argument
+
     import argparse
 
+
     ....
    # 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':
 
            print('Call Weekly Usage report menu and submenu')
 
 
 
        if menu_selected == 'm':
 
            print('Call Monthly Usage report menu and submenu')
 
 
 
    print('Thank you for using this Python program.')
 
 
</pre>
 
</pre>

Revision as of 08:40, 4 November 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
   __version__ 1.0
 
   text to describe the purpose of this script
'''

import os 
import sys
import time

def menu(title,items,choice):
    ''' docstring for this function '''
    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():
    ''' docstring for this fucntion
    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):
    ''' docstring for this function
    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):
    ''' docstring for this function
    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__':
    import argparse
    ....