[pygobject/wip/jfelder/glib-datetime-compare] GLib overrides: Add support for DateTime.compare



commit dcd042d9282fa391c057ffbc126773f015606881
Author: Jean Felder <jean@small-ubu>
Date:   Thu Jun 6 23:48:11 2019 +0200

    GLib overrides: Add support for DateTime.compare
    
    Closes: #334

 gi/overrides/GLib.py         | 18 ++++++++++++++++++
 tests/test_overrides_glib.py |  8 ++++++++
 2 files changed, 26 insertions(+)
---
diff --git a/gi/overrides/GLib.py b/gi/overrides/GLib.py
index 186902e8..e613ed1e 100644
--- a/gi/overrides/GLib.py
+++ b/gi/overrides/GLib.py
@@ -876,3 +876,21 @@ deprecated_attr("GLib", "glib_version",
 pyglib_version = version_info
 __all__.append('pyglib_version')
 deprecated_attr("GLib", "pyglib_version", "gi.version_info")
+
+
+@override
+class DateTime(GLib.DateTime):
+
+    @classmethod
+    def compare(cls, dt1, dt2):
+        difference = GLib.DateTime.difference(dt1, dt2)
+
+        if (difference < 0):
+            return -1
+        elif (difference > 0):
+            return 1
+        else:
+            return 0
+
+
+__all__.append('DateTime')
diff --git a/tests/test_overrides_glib.py b/tests/test_overrides_glib.py
index ac19ccd9..d39c685b 100644
--- a/tests/test_overrides_glib.py
+++ b/tests/test_overrides_glib.py
@@ -121,6 +121,14 @@ def test_iochannel_win32():
         os.remove(fn)
 
 
+def test_datetime_compare():
+    dt100 = GLib.DateTime.new_from_unix_utc(100)
+    dt1000 = GLib.DateTime.new_from_unix_utc(1000)
+    assert GLib.DateTime.compare(dt100, dt1000) == -1
+    assert GLib.DateTime.compare(dt1000, dt100) == 1
+    assert GLib.DateTime.compare(dt100, dt100) == 0
+
+
 class TestGVariant(unittest.TestCase):
     def test_create_simple(self):
         variant = GLib.Variant('i', 42)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]