コード例 #1
0
ファイル: foreach.py プロジェクト: marchon/yay
    def expand(self):
        lst = []

        for item in self.lookup.expand():
            c = Context(self.value.clone(), {self.alias: item})
            c.set_parent(self)

            if self.filter:
                f = self.filter.clone()
                f.set_parent(c)
                if not f.resolve():
                    continue

            item.set_parent(c)

            if self.mode == "nochain":
                lst.append(c)
            else:
                c.set_parent(self)
                val = c.resolve()
                if isinstance(val, list):
                    if self.mode == "flatten":
                        lst.extend(BoxingFactory.box(v) for v in flatten(val))
                    else:
                        lst.extend(BoxingFactory.box(v) for v in val)
                else:
                    lst.append(BoxingFactory.box(val))

        sq = Sequence(lst)
        sq.set_parent(self.parent)
        return sq
コード例 #2
0
ファイル: dj.py プロジェクト: marchon/yay
    def get(self, key):
        v = getattr(self.value, key)

        if key in self.related or key in self.many_to_many:
            return InstanceList(v)

        return BoxingFactory.box(getattr(self.value, key))
コード例 #3
0
    def get(self, key):
        v = getattr(self.value, key)

        if key in self.related or key in self.many_to_many:
            return InstanceList(v)

        return BoxingFactory.box(getattr(self.value, key))
コード例 #4
0
    def get(self, key):
        try:
            idx = int(key)
        except ValueError:
            return BoxingFactory.box(getattr(self.value, key))

        _all = self.value.objects.all()
        return Instance(_all[idx])
コード例 #5
0
ファイル: dj.py プロジェクト: marchon/yay
    def get(self, key):
        try:
            idx = int(key)
        except ValueError:
            return BoxingFactory.box(getattr(self.value, key))

        _all = self.value.objects.all()
        return Instance(_all[idx])
コード例 #6
0
ファイル: config.py プロジェクト: marchon/yay
    def add(self, data):
        boxed = BoxingFactory.box(data)
        if not isinstance(boxed, Mapping):
            raise ProgrammingError("Tried to call Config.add on type '%s'. This cannot be boxed as a 'Mapping'." % type(data))

        boxed.predecessor = self.mapping
        if boxed.predecessor:
            boxed.predecessor.set_parent(boxed)

        self.mapping = boxed
コード例 #7
0
ファイル: config.py プロジェクト: marchon/yay
    def add(self, data):
        boxed = BoxingFactory.box(data)
        if not isinstance(boxed, Mapping):
            raise ProgrammingError(
                "Tried to call Config.add on type '%s'. This cannot be boxed as a 'Mapping'."
                % type(data))

        boxed.predecessor = self.mapping
        if boxed.predecessor:
            boxed.predecessor.set_parent(boxed)

        self.mapping = boxed
コード例 #8
0
ファイル: test_dj.py プロジェクト: marchon/yay
 def test_box_manager(self):
     b = BoxingFactory.box(Car.objects)
     self.assert_(isinstance(b, dj.InstanceList))
コード例 #9
0
 def __iter__(self):
     return iter(BoxingFactory.box(v) for v in sorted(self.keys()))
コード例 #10
0
ファイル: test_dj.py プロジェクト: marchon/yay
 def test_box_instance(self):
     b = BoxingFactory.box(Car(name="pudding"))
     self.assert_(isinstance(b, dj.Instance))
コード例 #11
0
ファイル: test_dj.py プロジェクト: marchon/yay
 def test_box_query(self):
     b = BoxingFactory.box(Car.objects.filter(name="pudding"))
     self.assert_(isinstance(b, dj.InstanceList))
コード例 #12
0
ファイル: test_dj.py プロジェクト: marchon/yay
 def test_box_instance(self):
     b = BoxingFactory.box(Car(name="pudding"))
     self.assert_(isinstance(b, dj.Instance))
コード例 #13
0
ファイル: function.py プロジェクト: marchon/yay
 def expand(self):
     return [BoxingFactory.box(x) for x in self.resolve()]
コード例 #14
0
ファイル: test_dj.py プロジェクト: marchon/yay
 def test_box_query(self):
     b = BoxingFactory.box(Car.objects.filter(name="pudding"))
     self.assert_(isinstance(b, dj.InstanceList))
コード例 #15
0
ファイル: dj.py プロジェクト: marchon/yay
 def get(self, idx):
     v = self.value.all()[idx]
     return BoxingFactory.box(v)
コード例 #16
0
ファイル: sequence.py プロジェクト: marchon/yay
def box_generator(val):
    return Sequence(list(BoxingFactory.box(itm) for itm in val))
コード例 #17
0
ファイル: sequence.py プロジェクト: marchon/yay
def box_generator(val):
    return Sequence(list(BoxingFactory.box(itm) for itm in val))
コード例 #18
0
ファイル: test_dj.py プロジェクト: marchon/yay
 def test_box_manager(self):
     b = BoxingFactory.box(Car.objects)
     self.assert_(isinstance(b, dj.InstanceList))
コード例 #19
0
ファイル: append.py プロジェクト: marchon/yay
 def get(self, idx, default=None):
     return BoxingFactory.box(self.resolve()[int(idx)])
コード例 #20
0
 def get(self, idx):
     v = self.value.all()[idx]
     return BoxingFactory.box(v)
コード例 #21
0
ファイル: append.py プロジェクト: marchon/yay
 def get(self, idx, default=None):
     return BoxingFactory.box(self.resolve()[int(idx)])
コード例 #22
0
def box_dict(val):
    m = Mapping(None)
    for k, v in val.items():
        m.set(k, BoxingFactory.box(v))
    return m