commit: f9997f4e52f70e127432abc01df04c18760fa391 Author: André Erdmann <dywi <AT> mailerd <DOT> de> AuthorDate: Tue Mar 25 20:52:41 2014 +0000 Commit: André Erdmann <dywi <AT> mailerd <DOT> de> CommitDate: Tue Mar 25 20:52:41 2014 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=f9997f4e
fix potential python 2 issue Python 2 checks for __nonzero__(), not __bool__(). roverlay usually relies explicit checks ("if obj.attr == $expected" or "obj.exists()" rather than "if object:"), so this is not a major issue. --- roverlay/db/distmap.py | 4 ++++ roverlay/depres/depresult.py | 4 ++++ roverlay/depres/simpledeprule/util.py | 3 +++ roverlay/overlay/additionsdir.py | 7 ++++++- roverlay/stats/abstract.py | 4 ++++ roverlay/util/objects.py | 8 ++++++++ 6 files changed, 29 insertions(+), 1 deletion(-) diff --git a/roverlay/db/distmap.py b/roverlay/db/distmap.py index 818d5d0..76196f8 100644 --- a/roverlay/db/distmap.py +++ b/roverlay/db/distmap.py @@ -244,6 +244,10 @@ class _DistMapBase ( roverlay.util.objects.PersistentContent ): return True # --- end of __bool__ (...) --- + def __nonzero__ ( self ): + return self.__bool__() + # --- end of __nonzero__ (...) --- + def __setitem__ ( self, key, value ): if isinstance ( value, DistMapInfo ): self.add_entry ( key, value ) diff --git a/roverlay/depres/depresult.py b/roverlay/depres/depresult.py index b95a1bc..f14f06d 100644 --- a/roverlay/depres/depresult.py +++ b/roverlay/depres/depresult.py @@ -46,6 +46,10 @@ class ConstantDepResult ( object ): #and self.dep is not False # --- end of __bool__ (...) --- + def __nonzero__ ( self ): + return self.__bool__() + # --- end of __nonzero__ (...) --- + def __hash__ ( self ): return hash ( self.dep ) # --- end of __hash__ (...) --- diff --git a/roverlay/depres/simpledeprule/util.py b/roverlay/depres/simpledeprule/util.py index 0ce5aa4..36f88cd 100644 --- a/roverlay/depres/simpledeprule/util.py +++ b/roverlay/depres/simpledeprule/util.py @@ -41,6 +41,9 @@ class SlotRestrict ( object ): def __bool__ ( self ): return True + def __nonzero__ ( self ): + return self.__bool__() + def noexport ( self ): pass diff --git a/roverlay/overlay/additionsdir.py b/roverlay/overlay/additionsdir.py index 5e24622..6e795a6 100644 --- a/roverlay/overlay/additionsdir.py +++ b/roverlay/overlay/additionsdir.py @@ -24,7 +24,8 @@ class AdditionsDir ( object ): return self.root is not None and os.path.isdir ( self.root ) # --- end of exists (...) --- - __bool__ = exists + __bool__ = exists + __nonzero__ = exists def iter_entries ( self ): """Generator that yields the directory content of this dir.""" @@ -95,6 +96,10 @@ class _AdditionsDirView ( object ): return bool ( self._additions_dir ) # --- end of __bool__ (...) --- + def __nonzero__ ( self ): + return self.__bool__() + # --- end of __nonzero__ (...) --- + @property def name ( self ): return self._additions_dir.name diff --git a/roverlay/stats/abstract.py b/roverlay/stats/abstract.py index c2ecace..6ad39f9 100644 --- a/roverlay/stats/abstract.py +++ b/roverlay/stats/abstract.py @@ -258,6 +258,10 @@ class Counter ( RoverlayStatsBase ): return bool ( self.total_count ) # --- end of __bool__ (...) --- + def __nonzero__ ( self ): + return self.__bool__() + # --- end of __nonzero__ (...) --- + def __add__ ( self, other ): return self.total_count + int ( other ) # --- end of __add__ (...) --- diff --git a/roverlay/util/objects.py b/roverlay/util/objects.py index d14733e..9c73749 100644 --- a/roverlay/util/objects.py +++ b/roverlay/util/objects.py @@ -55,6 +55,8 @@ class SafeWeakRef ( weakref.ref ): return self.deref_unsafe() is not None # --- end of __bool__ (...) --- + __nonzero__ = __bool__ + def __repr__ ( self ): obj = self.deref_unsafe() if obj: @@ -104,6 +106,8 @@ class NoneRef ( object ): return False # --- end of __bool__ (...) --- + __nonzero__ = __bool__ + def __repr__ ( self ): return "<NoneRef at 0x{:x}>".format ( id ( self ) ) # --- end of __repr__ (...) --- @@ -360,6 +364,10 @@ class ObjectView ( object ): return bool ( self.obj_ref ) # --- end of __bool__ (...) --- + def __nonzero__ ( self ): + return self.__bool__() + # --- end of __nonzero__ (...) --- + @abstractmethod def update ( self ): """Updates this view (collect data from the actual object etc.)."""