X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=sfa%2Fmethods%2Fremove.py;h=384b1cfb07867699e6bae41e5acfe26ad642ec15;hb=11d02cbfd5e91784119bb9377fceb4fa6adae621;hp=1b1ae98940c880f02d7a85a3d9a1bf8d5ade0644;hpb=f88b4fd4e55e6418845f532e1ca42307389d90fa;p=sfa.git diff --git a/sfa/methods/remove.py b/sfa/methods/remove.py index 1b1ae989..384b1cfb 100644 --- a/sfa/methods/remove.py +++ b/sfa/methods/remove.py @@ -2,6 +2,7 @@ ### $URL$ from sfa.util.faults import * +from sfa.util.namespace import * from sfa.util.method import Method from sfa.util.parameter import Parameter, Mixed from sfa.util.debug import log @@ -14,7 +15,7 @@ class remove(Method): @param cred credential string @param type record type - @param hrn human readable name of record to remove + @param xrn human readable name of record to remove (hrn or urn) @return 1 if successful, faults otherwise """ @@ -24,16 +25,22 @@ class remove(Method): accepts = [ Parameter(str, "Credential string"), Parameter(str, "Record type"), - Parameter(str, "Human readable name of slice to instantiate"), + Parameter(str, "Human readable name of slice to instantiate (hrn or urn)"), Mixed(Parameter(str, "Human readable name of the original caller"), Parameter(None, "Origin hrn not specified")) ] returns = Parameter(int, "1 if successful") - def call(self, cred, type, hrn, origin_hrn=None): + def call(self, cred, type, xrn, origin_hrn=None): user_cred = Credential(string=cred) - + + # convert xrn to hrn + if type: + hrn = urn_to_hrn(xrn)[0] + else: + hrn, type = urn_to_hrn(xrn) + #log the call if not origin_hrn: origin_hrn = user_cred.get_gid_caller().get_hrn() @@ -48,4 +55,4 @@ class remove(Method): mgr_type = self.api.config.SFA_REGISTRY_TYPE manager_module = manager_base + ".registry_manager_%s" % mgr_type manager = __import__(manager_module, fromlist=[manager_base]) - return manager.remove(self.api, hrn, type, origin_hrn) + return manager.remove(self.api, xrn, type, origin_hrn)