python3: apply pep 238 for division overload
authorLubosz Sarnecki <lubosz@gmail.com>
Sun, 23 Mar 2014 09:34:10 +0000 (10:34 +0100)
committerThibault Saunier <tsaunier@gnome.org>
Tue, 1 Apr 2014 07:56:13 +0000 (09:56 +0200)
Python 3 needs an __truediv__ operator method, used in GstFraction.

see: http://legacy.python.org/dev/peps/pep-0238/

https://bugzilla.gnome.org/show_bug.cgi?id=726920

gi/overrides/Gst.py

index 48c29f9..140b557 100644 (file)
@@ -243,7 +243,7 @@ class Fraction(Gst.Fraction):
 
     __rmul__ = __mul__
 
-    def __div__(self, other):
+    def __truediv__(self, other):
         if isinstance(other, Fraction):
             return Fraction(self.num * other.denom,
                             self.denom * other.num)
@@ -251,11 +251,15 @@ class Fraction(Gst.Fraction):
             return Fraction(self.num, self.denom * other)
         return TypeError
 
-    def __rdiv__(self, other):
+    __div__ = __truediv__
+
+    def __rtruediv__(self, other):
         if isinstance(other, int):
             return Fraction(self.denom * other, self.num)
         return TypeError
 
+    __rdiv__ = __rtruediv__
+
     def __float__(self):
         return float(self.num) / float(self.denom)