X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sla%2Fslaclient%2Fwsag_model.py;h=271a8f5c101525e92eeb31f7acc3395325e71c81;hb=f320a65ac7928a4a1c8315443880dce1d7afc997;hp=1c9bd41aa95959d5ee68573ee28523a4b0c0c034;hpb=ba476841726dc818c0efd3ed25e42955a39fc504;p=unfold.git diff --git a/sla/slaclient/wsag_model.py b/sla/slaclient/wsag_model.py index 1c9bd41a..271a8f5c 100755 --- a/sla/slaclient/wsag_model.py +++ b/sla/slaclient/wsag_model.py @@ -1,4 +1,6 @@ from datetime import datetime +from dateutil import tz +import dateutil.parser """Contains the bean models for the SlaManager xml/json types """ @@ -23,13 +25,21 @@ class Agreement(object): repr(self.provider), repr(self.consumer), repr(self.service)) - + def service_formatted(self): return self.service.replace('_', ' ') def testbed_formatted(self): return self.template_id.replace('Service', ' - ') + def time_formatted(self): + from_zone = tz.tzutc() + to_zone = tz.tzlocal() + time = dateutil.parser.parse(self.expirationtime) + time = time.replace(tzinfo=from_zone) + time = time.astimezone(to_zone) + return time.strftime('%d-%m-%Y at %H:%M:%S') + class Property(object): def __init__(self): self.servicename = "" @@ -38,7 +48,8 @@ class Agreement(object): self.location = "" def __repr__(self): - str_ = "" + str_ = "" return str_.format( repr(self.name), repr(self.servicename), @@ -64,7 +75,8 @@ class Agreement(object): self.customservicelevel = "" def __repr__(self): - s = "" + s = "" return s.format( repr(self.kpiname), repr(self.customservicelevel) @@ -108,7 +120,6 @@ class Agreement(object): class Template(Agreement): - #egarrido this code has been copied from xifi and has not beeing tested def __init__(self): super(Template, self).__init__() self.template_id = "" @@ -135,7 +146,8 @@ class Enforcement(object): return ("".format( self.agreement_id, self.enabled) - ) + ) + class AgreementStatus(object): @@ -162,9 +174,9 @@ class AgreementStatus(object): return ( "").format( - self.agreement_id, - self.guaranteestatus, - repr(self.guaranteeterms)) + self.agreement_id, + self.guaranteestatus, + repr(self.guaranteeterms)) @staticmethod def json_decode(json_obj): @@ -186,20 +198,27 @@ class Violation(object): self.uuid = "" self.contract_uuid = "" self.service_scope = "" + self.service_name = "" self.metric_name = "" - self.datetime = datetime.now() + self.datetime = datetime.utcnow() self.actual_value = 0 def __repr__(self): - return ("".format( + return ("\n".format( self.uuid, + self.datetime, self.contract_uuid, + self.service_name, self.service_scope, self.metric_name, - self.datetime, self.actual_value) - ) + ) + + def format_time(self): + # return str(datetime.fromtimestamp(self.datetime)) + return str(self.datetime) class Provider(object): @@ -212,7 +231,8 @@ class Provider(object): return ("".format( self.uuid, self.name) - ) + ) + def to_xml(self): xml = "{}{}""".format( self.uuid, @@ -230,4 +250,4 @@ class Provider(object): out = wsag_model.Provider.from_dict(json_obj) """ result = Provider(d["uuid"], d["name"]) - return result + return result