From: Thierry Parmentelat Date: Wed, 1 Sep 2010 08:21:33 +0000 (+0200) Subject: Merge branch 'master' of ssh://git.onelab.eu/git/plcapi X-Git-Tag: plcapi-5.0-16~1 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=29d91c387fae61de70b591ec877e6e3526ab51f1;hp=e9ce31d4a67348805b1855d09aa8e89f74196258;p=plcapi.git Merge branch 'master' of ssh://git.onelab.eu/git/plcapi --- diff --git a/PLC/Accessor.py b/PLC/Accessor.py index acf9a49..ea69ccb 100644 --- a/PLC/Accessor.py +++ b/PLC/Accessor.py @@ -6,13 +6,17 @@ # # just a placeholder for storing accessor-related tag checkers # this is filled by the accessors factory +# +# NOTE. If you ever come to manually delete a TagType that was created +# by the Factory, you need to restart your python instance / web server +# as the cached information then becomes wrong from PLC.TagTypes import TagTypes, TagType # implementation class Accessor (object) : - """This is placeholder for storing accessor-related tag checkers -methods in this class are defined by the accessors factory + """This is placeholder for storing accessor-related tag checkers. +Methods in this class are defined by the accessors factory This is implemented as a singleton, so we can cache results over time""" diff --git a/PLC/Accessors/Factory.py b/PLC/Accessors/Factory.py index 546e3d9..1c6d03e 100644 --- a/PLC/Accessors/Factory.py +++ b/PLC/Accessors/Factory.py @@ -25,9 +25,7 @@ from PLC.PersonTags import PersonTags, PersonTag # this is another story.. #from PLC.Ilinks import Ilink -from PLC.TagTypes import TagTypes, TagType - -# known classes : { class -> secondary_key } +# known classes : { class -> details } taggable_classes = { Node : {'table_class' : Nodes, 'joins_class' : NodeTags, 'join_class' : NodeTag, 'secondary_key': 'hostname'}, @@ -54,7 +52,7 @@ tech_roles = [ 'admin', 'pi', 'tech' ] # # generates 2 method classes: # Get (auth, id_or_name) -> value or None -# Set (auth, id_or_name, value) -> None +# Set (auth, id_or_name, value) -> value # value is always a string, no cast nor typecheck for now # # The expose_in_api flag tells whether this tag may be handled @@ -201,6 +199,7 @@ def define_accessors (module, objclass, methodsuffix, tagname, else: self.message += " %d "%objs[0][primary_key] self.message += "updated" + return value # attach it setattr (set_class,"call",set_call) diff --git a/PLC/Methods/GetSlivers.py b/PLC/Methods/GetSlivers.py index 951b352..a8ee408 100644 --- a/PLC/Methods/GetSlivers.py +++ b/PLC/Methods/GetSlivers.py @@ -27,6 +27,7 @@ from PLC.Accessors.Accessors_standard import * # XXX used to check if slice expiration time is sane MAXINT = 2L**31-1 +# slice_filter essentially contains the slice_ids for the relevant slices (on the node + system & delegated slices) def get_slivers(api, auth, slice_filter, node = None): # Get slice information slices = Slices(api, slice_filter, ['slice_id', 'name', 'instantiation', 'expires', 'person_ids', 'slice_tag_ids'])