From: Mohamed Larabi Date: Mon, 18 Nov 2013 15:10:48 +0000 (+0100) Subject: UpdateSite: check if tagtype HRN exists before setting/updating it X-Git-Tag: plcapi-5.3-1~7 X-Git-Url: http://git.onelab.eu/?p=plcapi.git;a=commitdiff_plain;h=4b1c500516d1eb42f626e879554ddda9c43b3bab UpdateSite: check if tagtype HRN exists before setting/updating it --- diff --git a/PLC/Methods/UpdateSite.py b/PLC/Methods/UpdateSite.py index 62621ac..86ae121 100644 --- a/PLC/Methods/UpdateSite.py +++ b/PLC/Methods/UpdateSite.py @@ -4,6 +4,7 @@ from PLC.Parameter import Parameter, Mixed from PLC.Sites import Site, Sites from PLC.Auth import Auth +from PLC.TagTypes import TagTypes from PLC.SiteTags import SiteTags from PLC.Methods.AddSiteTag import AddSiteTag from PLC.Methods.UpdateSiteTag import UpdateSiteTag @@ -85,10 +86,14 @@ class UpdateSite(Method): root_auth = self.api.config.PLC_HRN_ROOT tagname = 'hrn' tagvalue = '.'.join([root_auth, site['login_base']]) - site_tags=SiteTags(self.api,{'tagname':tagname,'site_id':site['site_id']}) - if not site_tags: - AddSiteTag(self.api).__call__(auth,site['site_id'],tagname,tagvalue) - else: - UpdateSiteTag(self.api).__call__(auth,site_tags[0]['site_tag_id'],tagvalue) + # check if the tagtype instance exists + tag_types = TagTypes(self.api,{'tagname':tagname}) + if tag_types: + site_tags=SiteTags(self.api,{'tagname':tagname,'site_id':site['site_id']}) + if not site_tags: + AddSiteTag(self.api).__call__(auth,int(site['site_id']),tagname,tagvalue) + else: + UpdateSiteTag(self.api).__call__(auth,site_tags[0]['site_tag_id'],tagvalue) + return 1