Author: Armin Rigo <[email protected]>
Branch: py3k
Changeset: r87267:0ac14db93823
Date: 2016-09-21 14:28 +0200
http://bitbucket.org/pypy/pypy/changeset/0ac14db93823/
Log: fixes
diff --git a/pypy/module/posix/interp_posix.py
b/pypy/module/posix/interp_posix.py
--- a/pypy/module/posix/interp_posix.py
+++ b/pypy/module/posix/interp_posix.py
@@ -373,7 +373,14 @@
w_value = space.wrap(st[i])
lst[i] = w_value
else:
- w_value = space.wrap(getattr(st, name))
+ try:
+ value = getattr(st, name)
+ except AttributeError:
+ # untranslated, there is no nsec_Xtime attribute
+ assert name.startswith('nsec_')
+ value = rposix_stat.get_stat_ns_as_bigint(st, name[5:])
+ value = value.tolong() % 1000000000
+ w_value = space.wrap(value)
space.setitem(w_keywords, space.wrap(name), w_value)
# Note: 'w_keywords' contains the three attributes 'nsec_Xtime'.
diff --git a/pypy/objspace/std/typeobject.py b/pypy/objspace/std/typeobject.py
--- a/pypy/objspace/std/typeobject.py
+++ b/pypy/objspace/std/typeobject.py
@@ -1099,11 +1099,7 @@
raise oefmt(space.w_TypeError, "__slots__ must be identifiers")
# create member
slot_name = mangle(slot_name, w_self.name)
- if slot_name in w_self.dict_w:
- raise oefmt(space.w_ValueError,
- "'%8' in __slots__ conflicts with class variable",
- slot_name)
- else:
+ if slot_name not in w_self.dict_w:
# Force interning of slot names.
slot_name = space.str_w(space.new_interned_str(slot_name))
# in cpython it is ignored less, but we probably don't care
@@ -1111,7 +1107,10 @@
w_self.dict_w[slot_name] = space.wrap(member)
return True
else:
- return False
+ # never returns False, but that's to minimize the diff with pypy2
+ raise oefmt(space.w_ValueError,
+ "'%8' in __slots__ conflicts with class variable",
+ slot_name)
def create_dict_slot(w_self):
if not w_self.hasdict:
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit