summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean Felder <jean@small-ubu>2019-06-06 23:48:11 +0200
committerJean Felder <jean.felder@estimages.com>2019-06-07 10:40:36 +0200
commitdcd042d9282fa391c057ffbc126773f015606881 (patch)
treeee15f9b30ffe4d303dbff6cc75a48d0c053c7430
parent060dbc6be9b6e392921a7250d23a2bb4ad97d4cb (diff)
downloadpygobject-wip/jfelder/glib-datetime-compare.tar.gz
GLib overrides: Add support for DateTime.comparewip/jfelder/glib-datetime-compare
Closes: #334
-rw-r--r--gi/overrides/GLib.py18
-rw-r--r--tests/test_overrides_glib.py8
2 files changed, 26 insertions, 0 deletions
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)