HP CloudSystem Matrix/Matrix Operating Environment 7.1 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")
103










