HP CloudSystem Matrix/Matrix Operating Environment 7.2 Integration Interfaces API and CLI Operations Reference Guide

Example 3 GUI.py
import Tkinter
from Tkinter import *
import tkMessageBox
import calendar as cd
import datetime
from root.chargeback.reports import *
from root.chargeback.connection import *
import locale
AVAILABLE_REPORTS = [
("Total Services Cost", 1),
("Services Metrics Details", 2),
("Cost Distribution by Resource Types", 3),
]
class chargeback_app(Tkinter.Tk):
def __init__(self,parent):
Tkinter.Tk.__init__(self,parent)
self.parent = parent
self.initialize()
def initialize (self):
self.grid()
#General text
generalcmslableText = Tkinter.StringVar()
generalcmslableText.set(u"Input required fields for server access (all filed required)")
generalcmslabel = Tkinter.Label(self, textvariable=generalcmslableText, anchor="w",fg="white",bg="blue")
generalcmslabel.grid(column=1,row=1,columnspan=6,sticky='EW')
#Cms address
cmslableText = Tkinter.StringVar()
cmslableText.set(u"CMS address*: ")
cmslabel = Tkinter.Label(self, textvariable=cmslableText, anchor="w",fg="black",bg="white")
cmslabel.grid(column=1,row=2,columnspan=2,sticky='EW')
self.cmsVariable =Tkinter.StringVar()
self.cms = Tkinter.Entry(self, textvariable=self.cmsVariable)
self.cms.grid(column=2,row=2, columnspan=3, sticky='EW')
#Username
usernamelableText = Tkinter.StringVar()
usernamelableText.set(u"Username*: ")
usernamelabel = Tkinter.Label(self, textvariable=usernamelableText, anchor="w",fg="black",bg="white")
usernamelabel.grid(column=1,row=3,columnspan=2,sticky='EW')
self.usernameVariable =Tkinter.StringVar()
self.username = Tkinter.Entry(self, textvariable=self.usernameVariable)
self.username.grid(column=2,row=3, columnspan=3, sticky='EW')
#Password
passwordlableText = Tkinter.StringVar()
passwordlableText.set(u"Password*: ")
passwordlabel = Tkinter.Label(self, textvariable=passwordlableText, anchor="w",fg="black",bg="white")
passwordlabel.grid(column=1,row=4,columnspan=2,sticky='EW')
self.passwordVariable =Tkinter.StringVar()
self.password = Tkinter.Entry(self, textvariable=self.passwordVariable)
self.password.grid(column=2,row=4, columnspan=3, sticky='EW')
#Report filters session
reportdatalableText = Tkinter.StringVar()
reportdatalableText.set(u"Input required fields for selecting services to become part of the report")
reportdatalabel = Tkinter.Label(self, textvariable=reportdatalableText, anchor="w",fg="white",bg="blue")
reportdatalabel.grid(column=1,row=5,columnspan=6,sticky='EW')
#Report period
fromlableText = Tkinter.StringVar()
fromlableText .set(u"From*: ")
fromlable = Tkinter.Label(self, textvariable=fromlableText , anchor="w",fg="black",bg="white")
fromlable.grid(column=1,row=6,sticky='EW')
self.fromVariable = Tkinter.StringVar()
self.fromVariable.set(u"YYYY-MM-DD")
self.fromdate = Tkinter.Entry(self, textvariable=self.fromVariable )
self.fromdate.grid(column=2,row=6, sticky='EW')
tolableText = Tkinter.StringVar()
tolableText.set(u" to* ")
tolable = Tkinter.Label(self, textvariable=tolableText, anchor="w",fg="black",bg="white")
tolable.grid(column=3,row=6,sticky='EW')
self.toVariable = Tkinter.StringVar()
self.toVariable.set(u"YYYY-MM-DD")
self.todate = Tkinter.Entry(self, textvariable=self.toVariable )
# self.todate.bind(">Return>", self.OnPressEnter)
self.todate.grid(column=4,row=6, sticky='EW')
#Filters - organization
orglableText = Tkinter.StringVar()
orglableText .set(u"Organization ID: ")
orglable = Tkinter.Label(self, textvariable=orglableText , anchor="w",fg="black",bg="white")
orglable.grid(column=1,row=7,sticky='EW')
self.orgVariable = Tkinter.StringVar()
117