X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sla%2Fslaclient%2Fwsag_model.py;h=d190e30eeddf54fdb67836d74d57fb6cdc732ffe;hb=740a2bea5a69b3702a77c1e559456c13aa491829;hp=1c9bd41aa95959d5ee68573ee28523a4b0c0c034;hpb=f56d47e6dcc591f2c6008205c531ece8eefaccf7;p=unfold.git diff --git a/sla/slaclient/wsag_model.py b/sla/slaclient/wsag_model.py index 1c9bd41a..d190e30e 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): @@ -153,18 +165,21 @@ class AgreementStatus(object): s = "" return s.format(self.name, self.status) - def __init__(self): + def __init__(self, lst=None): self.agreement_id = "" self.guaranteestatus = "" - self.guaranteeterms = [] + if lst is None: + self.guaranteeterms = [] + else: + self.guaranteeterms = lst def __repr__(self): 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 +201,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 +234,8 @@ class Provider(object): return ("".format( self.uuid, self.name) - ) + ) + def to_xml(self): xml = "{}{}""".format( self.uuid, @@ -230,4 +253,4 @@ class Provider(object): out = wsag_model.Provider.from_dict(json_obj) """ result = Provider(d["uuid"], d["name"]) - return result + return result