X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=PLC%2FSlices.py;h=e5a51ebed58cf195c4293a4c06c8a54ae08743e3;hb=13901cd4465288b634103c1997a5653500f2b5cc;hp=db0cd0504be733295140fd190b7c17fc715ad1a5;hpb=bd0cbf4f7f2e4cf7ceda500bfa6f98c0a700018b;p=plcapi.git diff --git a/PLC/Slices.py b/PLC/Slices.py index db0cd05..e5a51eb 100644 --- a/PLC/Slices.py +++ b/PLC/Slices.py @@ -27,7 +27,7 @@ class Slice(Row): fields = { 'slice_id': Parameter(int, "Slice identifier"), 'site_id': Parameter(int, "Identifier of the site to which this slice belongs"), - 'name': Parameter(str, "Slice name", max = 32), + 'name': Parameter(str, "Slice name", max = 64), 'instantiation': Parameter(str, "Slice instantiation state"), 'url': Parameter(str, "URL further describing this slice", max = 254, nullok = True), 'description': Parameter(str, "Slice description", max = 2048, nullok = True), @@ -60,7 +60,7 @@ class Slice(Row): # 2. Begins with login_base (letters or numbers). # 3. Then single underscore after login_base. # 4. Then letters, numbers, or underscores. - good_name = r'^[a-z0-9]+_[a-zA-Z0-9_]+$' + good_name = r'^[a-z0-9\.]+_[a-zA-Z0-9_\.]+$' if not name or \ not re.match(good_name, name): raise PLCInvalidArgument, "Invalid slice name" @@ -281,7 +281,8 @@ class Slices(Table): slice_filter = Filter(Slice.fields, {'slice_id': ints, 'name': strs}) sql += " AND (%s) %s" % slice_filter.sql(api, "OR") elif isinstance(slice_filter, dict): - slice_filter = Filter(Slice.fields, slice_filter) + allowed_fields=dict(Slice.fields.items()+Slice.tags.items()) + slice_filter = Filter(allowed_fields, slice_filter) sql += " AND (%s) %s" % slice_filter.sql(api, "AND") elif isinstance (slice_filter, StringTypes): slice_filter = Filter(Slice.fields, {'name':slice_filter})