X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FAddSite.py;h=2150a912a0171c59daefd33d1438e297ac8f240e;hb=8a488f82ba7892d6a6eb1265f0f327ec75b71149;hp=7b8f4880864eabf3c1925a45d34d65460eeffb40;hpb=286cdfc25f6ef8fd3e0ed59a175bcf801b14038a;p=plcapi.git diff --git a/PLC/Methods/AddSite.py b/PLC/Methods/AddSite.py index 7b8f488..2150a91 100644 --- a/PLC/Methods/AddSite.py +++ b/PLC/Methods/AddSite.py @@ -1,14 +1,15 @@ -# $Id# from PLC.Faults import * from PLC.Method import Method from PLC.Parameter import Parameter, Mixed from PLC.Sites import Site, Sites from PLC.Auth import Auth +from PLC.Methods.AddSiteTag import AddSiteTag + can_update = lambda (field, value): field in \ ['name', 'abbreviated_name', 'login_base', 'is_public', 'latitude', 'longitude', 'url', - 'max_slices', 'max_slivers', 'enabled'] + 'max_slices', 'max_slivers', 'enabled', 'ext_consortium_id'] class AddSite(Method): """ @@ -34,9 +35,16 @@ class AddSite(Method): site_fields = dict(filter(can_update, site_fields.items())) site = Site(self.api, site_fields) site.sync() - - # Logging variables - self.event_objects = {'Site': [site['site_id']]} + + # Logging variables + self.event_objects = {'Site': [site['site_id']]} self.message = 'Site %d created' % site['site_id'] - - return site['site_id'] + + # Set Site HRN + root_auth = self.api.config.PLC_HRN_ROOT + tagname = 'hrn' + tagvalue = '.'.join([root_auth, site['login_base']]) + AddSiteTag(self.api).__call__(auth,site['site_id'],tagname,tagvalue) + + + return site['site_id']