- def __init__(self, api, slice_tag_filter = None, columns = None):
- Table.__init__(self, api, SliceTag, columns)
-
- sql = "SELECT %s FROM view_slice_tags WHERE True" % \
- ", ".join(self.columns)
-
- if slice_tag_filter is not None:
- if isinstance(slice_tag_filter, (list, tuple, set, int, long)):
- slice_tag_filter = Filter(SliceTag.fields, {'slice_tag_id': slice_tag_filter})
- elif isinstance(slice_tag_filter, dict):
- slice_tag_filter = Filter(SliceTag.fields, slice_tag_filter)
- else:
- raise PLCInvalidArgument, "Wrong slice tag filter %r"%slice_tag_filter
- sql += " AND (%s) %s" % slice_tag_filter.sql(api)
+ def __init__(self, api, filter = None, columns = None):
+
+ # the view that we're selecting upon: start with view_slices
+ if not filter:
+ slice_tags = SliceTags().select()
+ elif isinstance(filter, dict):
+ slices_tags = SliceTags().select(filter=filter)
+ else:
+ raise PLCInvalidArgument, "Wrong slice_tag filter %r"%filter