blueloveTH 1 mēnesi atpakaļ
vecāks
revīzija
2fa14c5884
3 mainītis faili ar 17 papildinājumiem un 0 dzēšanām
  1. 6 0
      python/operator.py
  2. 0 0
      src/common/_generated.c
  3. 11 0
      tests/740_operator.py

+ 6 - 0
python/operator.py

@@ -47,3 +47,9 @@ def ior(a, b): a |= b; return a
 def ixor(a, b): a ^= b; return a
 def ilshift(a, b): a <<= b; return a
 def irshift(a, b): a >>= b; return a
+
+class attrgetter:
+    def __init__(self, attr):
+        self.attr = attr
+    def __call__(self, obj):
+        return getattr(obj, self.attr)

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
src/common/_generated.c


+ 11 - 0
tests/740_operator.py

@@ -50,3 +50,14 @@ assert op.ior(0b01, 0b11) == 0b11
 assert op.ixor(0b01, 0b11) == 0b10
 assert op.ilshift(0b01, 1) == 0b10
 assert op.irshift(0b10, 1) == 0b01
+
+
+# https://github.com/pocketpy/pocketpy/issues/455
+class Person:
+    def __init__(self, name, age):
+        self.name = name
+        self.age = age
+
+person = Person("Alice", 30)
+res = op.attrgetter('name')(person)
+assert res == "Alice"

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels