1,760
edits
Changes
→A1 Usage Report Template
= A1 Usage Report Template =
Please note that the following listing contains some actual python codes, but mostly are pseudo code.
<pre>
#!/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.')
</pre>
Please note that the following listing contains some actual python codes, but mostly are pseudo code.
<pre>
#!/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.')
</pre>