From: Tony Mack Date: Tue, 15 Jan 2013 18:38:54 +0000 (-0500) Subject: produce more human readable error message when we've received an invalid sliver urn X-Git-Tag: sfa-3.0-0~27 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=39c21a8a278e9422feb8fd4d200673145b28d7fe;hp=15337e8a559be5fd3cc22a0bd937a3e9b81b2642;p=sfa.git produce more human readable error message when we've received an invalid sliver urn --- diff --git a/sfa/planetlab/plaggregate.py b/sfa/planetlab/plaggregate.py index c21cdc74..6ad1e471 100644 --- a/sfa/planetlab/plaggregate.py +++ b/sfa/planetlab/plaggregate.py @@ -120,9 +120,14 @@ class PlAggregate: xrn = PlXrn(xrn=urn) if xrn.type == 'sliver': # id: slice_id-node_id - sliver_id_parts = xrn.get_sliver_id_parts() - slice_ids.add(int(sliver_id_parts[0])) - node_ids.append(int(sliver_id_parts[1])) + try: + sliver_id_parts = xrn.get_sliver_id_parts() + slice_id = int(sliver_id_parts[0]) + node_id = int(sliver_id_parts[1]) + slice_ids.add(slice_id) + node_ids.append(node_id) + except ValueError: + pass else: names.add(xrn.pl_slicename()) diff --git a/sfa/planetlab/pldriver.py b/sfa/planetlab/pldriver.py index 52bf4037..ec6e973a 100644 --- a/sfa/planetlab/pldriver.py +++ b/sfa/planetlab/pldriver.py @@ -56,8 +56,12 @@ class PlDriver (Driver): def sliver_to_slice_xrn(self, xrn): sliver_id_parts = Xrn(xrn).get_sliver_id_parts() - slice_id = int(sliver_id_parts[0]) - slices = self.shell.GetSlices(slice_id) + filter = {} + try: + filter['slice_id'] = int(sliver_id_parts[0]) + except ValueError: + fliter['name'] = sliver_id_parts[0] + slices = self.shell.GetSlices(filter) if not slices: raise Forbidden("Unable to locate slice record for sliver: %s" % xrn) slice = slices[0] @@ -75,7 +79,10 @@ class PlDriver (Driver): slice_ids = [] for urn in urns: sliver_id_parts = Xrn(xrn=urn).get_sliver_id_parts() - slice_ids.append(sliver_id_parts[0]) + try: + slice_ids.append(int(sliver_id_parts[0])) + except ValueError: + pass if not slice_ids: raise Forbidden("sliver urn not provided")