diff options
author | Jean Felder <jean@small-ubu> | 2019-06-06 23:48:11 +0200 |
---|---|---|
committer | Jean Felder <jean.felder@estimages.com> | 2019-06-07 10:40:36 +0200 |
commit | dcd042d9282fa391c057ffbc126773f015606881 (patch) | |
tree | ee15f9b30ffe4d303dbff6cc75a48d0c053c7430 | |
parent | 060dbc6be9b6e392921a7250d23a2bb4ad97d4cb (diff) | |
download | pygobject-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.py | 18 | ||||
-rw-r--r-- | tests/test_overrides_glib.py | 8 |
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) |