X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sla%2Fslaclient%2Fwsag_model.py;fp=sla%2Fslaclient%2Fwsag_model.py;h=271a8f5c101525e92eeb31f7acc3395325e71c81;hb=f320a65ac7928a4a1c8315443880dce1d7afc997;hp=f141d6addfdd0f4cf185ebf2a58a097ba19b740e;hpb=b6be4f9966a8ad3e05bd30155f723df55220128b;p=unfold.git diff --git a/sla/slaclient/wsag_model.py b/sla/slaclient/wsag_model.py index f141d6ad..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,7 +25,7 @@ class Agreement(object): repr(self.provider), repr(self.consumer), repr(self.service)) - + def service_formatted(self): return self.service.replace('_', ' ') @@ -31,8 +33,11 @@ class Agreement(object): return self.template_id.replace('Service', ' - ') def time_formatted(self): - import dateutil.parser + 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): @@ -43,7 +48,8 @@ class Agreement(object): self.location = "" def __repr__(self): - str_ = "" + str_ = "" return str_.format( repr(self.name), repr(self.servicename), @@ -69,7 +75,8 @@ class Agreement(object): self.customservicelevel = "" def __repr__(self): - s = "" + s = "" return s.format( repr(self.kpiname), repr(self.customservicelevel) @@ -113,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 = "" @@ -140,7 +146,8 @@ class Enforcement(object): return ("".format( self.agreement_id, self.enabled) - ) + ) + class AgreementStatus(object): @@ -167,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): @@ -191,23 +198,25 @@ class Violation(object): self.uuid = "" self.contract_uuid = "" self.service_scope = "" + self.service_name = "" self.metric_name = "" 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 datetime.strptime(self.datetime.datetime.utcnow,'%Y-%m-%d %H:%M:%S') # return str(datetime.fromtimestamp(self.datetime)) return str(self.datetime) @@ -222,7 +231,8 @@ class Provider(object): return ("".format( self.uuid, self.name) - ) + ) + def to_xml(self): xml = "{}{}""".format( self.uuid, @@ -240,4 +250,4 @@ class Provider(object): out = wsag_model.Provider.from_dict(json_obj) """ result = Provider(d["uuid"], d["name"]) - return result + return result