File datetime.patch of Package python-dirty-equals

Index: dirty-equals-0.6.0/tests/test_datetime.py
===================================================================
--- dirty-equals-0.6.0.orig/tests/test_datetime.py
+++ dirty-equals-0.6.0/tests/test_datetime.py
@@ -99,7 +99,12 @@ def test_repr():
 
 
 def test_is_now_tz():
-    now_ny = datetime.utcnow().replace(tzinfo=timezone.utc).astimezone(pytz.timezone('America/New_York'))
+    try:
+        from datetime import UTC
+        utc_now = datetime.now(UTC).replace(tzinfo=timezone.utc)
+    except ImportError:
+        utc_now = datetime.utcnow().replace(tzinfo=timezone.utc)
+    now_ny = utc_now.astimezone(pytz.timezone('America/New_York'))
     assert now_ny == IsNow(tz='America/New_York')
     # depends on the time of year and DST
     assert now_ny == IsNow(tz=timezone(timedelta(hours=-5))) | IsNow(tz=timezone(timedelta(hours=-4)))
@@ -111,7 +116,6 @@ def test_is_now_tz():
     assert now.isoformat() == IsNow(iso_string=True)
     assert now.isoformat() != IsNow
 
-    utc_now = datetime.utcnow().replace(tzinfo=timezone.utc)
     assert utc_now == IsNow(tz=timezone.utc)
 
 
Index: dirty-equals-0.6.0/dirty_equals/_datetime.py
===================================================================
--- dirty-equals-0.6.0.orig/dirty_equals/_datetime.py
+++ dirty-equals-0.6.0/dirty_equals/_datetime.py
@@ -184,7 +184,12 @@ class IsNow(IsDatetime):
         if self.tz is None:
             return datetime.now()
         else:
-            return datetime.utcnow().replace(tzinfo=timezone.utc).astimezone(self.tz)
+            try:
+                from datetime import UTC
+                utc_now = datetime.now(UTC).replace(tzinfo=timezone.utc)
+            except ImportError:
+                utc_now = datetime.utcnow().replace(tzinfo=timezone.utc)
+            return utc_now.astimezone(self.tz)
 
     def prepare(self, other: Any) -> datetime:
         # update approx for every comparing, to check if other value is dirty equal
openSUSE Build Service is sponsored by