Пример #1
0
class Order(object):
    interface.implements(IOrder)

    def __init__(self, context):
        self.context = context
        self.sorting = ISorting(context)
        self.results = self.sorting.getItems()

    def addItem(self, name):
        self.sorting.addItem(name)

    def removeItem(self, name):
        self.sorting.removeItem(name)

    def keys(self):
        return range(len(self.results))

    def __len__(self):
        return len(self.results)

    def __iter__(self):
        return iter(range(len(self.results)))

    def __getitem__(self, key):
        return self.results[key]

    def get(self, key, default=None):
        return self.results.get(key, default)

    def values(self):
        return list(self.results)

    def items(self):
        results = self.results
        return [(idx, results[idx]) for idx in range(len(self.results))]

    def __contains__(self, key):
        return (key >=0) and (key < len(self.results))

    has_key = __contains__
Пример #2
0
 def __init__(self, context):
     self.context = context
     self.sorting = ISorting(context)
     self.results = self.sorting.getItems()