if len (self.service) >0:
servicefilter = chargebackservice.factory.create('serviceFilter') servicefilter.filterAttribute = attributefilter.SERVICE_NAME servicefilter.filterOperator = operatorfilter.EQUAL servicefilter.serviceFilterValue = self.service servicefilter.filterConnector = connectorfilter.AND filterCollection.append(servicefilter)
if len(filterCollection) > 0: filterCollection[0].filterConnector = connectorfilter.NONE
return filterCollection
def get_servicename(serviceUsage):
return str(serviceUsage.serviceInformation.name)
def get_organization(serviceUsage):
return str(serviceUsage.serviceInformation.organizationId)
def get_billingcode(serviceUsage):
return str(serviceUsage.serviceInformation.billingCode)
def get_owner(serviceUsage):
return str(serviceUsage.serviceInformation.owner)
def get_startdate(serviceUsage):
return str(serviceUsage.serviceInformation.startDate)
def get_enddate(serviceUsage): try:
return str(serviceUsage.serviceInformation.endDate) except:
return ""
def report_Summary(number_of_service, period): result = [[]]
result[0] = Paragraph(''' ''', styleSheet["BodyText"])
summarytable = [[]]
now = datetime.datetime.now()
summarytable[0] = ["Date run: ",
start_date = datetime.datetime.strptime (period.start,
periodStr = "{0} to {1} ({2} days)"
summarytable.append(["Reporting period: ", periodStr.format(period.start, period.end, str(days.days))])
summarytable.append(["Number of services: ", number_of_service])
t = Table(summarytable, style=[('LINEABOVE', (0,0),
('FONTSIZE', (1,0), (1,2), 8),
('BOX', (0,0),
)
t.hAlign = "LEFT" result.append(t)
result.append(Paragraph(''' ''',styleSheet["BodyText"]))
result.append(Paragraph(''' ''',styleSheet["BodyText"]))
return result
class ServiceUsageReport (object):
def __init__ (self, periodInformation, connection, filters=None, title="Title", footer="Footer"): self.title = title
self.data = footer self.footer = "" self.period = periodInformation self.filters = filters self.chargebackservice = connection.client
def get_serviceCost(self, serviceUsage):
disckCost = serviceUsage.resourceUsageSummary.DiskUsageSummary.allocationCost ipCost = serviceUsage.resourceUsageSummary.IpAddressUsageSummary.allocationCost serversCost = serviceUsage.resourceUsageSummary.ServerUsageSummary.allocationCost fixedCost = serviceUsage.resourceUsageSummary.fixedCost
return disckCost + ipCost + serversCost + fixedCost
def get_totalServices(self, services): return len(services)
def format_data(self):
Elements = []
if self.chargebackservice :
dataPeriod = self.period.getPeriodObj(self.chargebackservice) paging = self.chargebackservice.factory.create('paging')
99