summaryrefslogtreecommitdiff
path: root/Ports/python3/patches/xmlrcp_client.patch
blob: 2b479d03e7aa5e2356880990c7f2a7e6d0921abc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
--- Python-3.10.0/Lib/xmlrpc/client.py	2021-10-06 14:28:27.231681509 +0800
+++ Python-3.10.0/Lib/xmlrpc/client.py	2021-10-06 14:31:01.712267885 +0800
@@ -264,16 +264,22 @@
 
 # Issue #13305: different format codes across platforms
 _day0 = datetime(1, 1, 1)
-if _day0.strftime('%Y') == '0001':      # Mac OS X
+def _try(fmt):
+    try:
+        return _day0.strftime(fmt) == '0001'
+    except ValueError:
+        return False
+if _try('%Y'):      # Mac OS X
     def _iso8601_format(value):
         return value.strftime("%Y%m%dT%H:%M:%S")
-elif _day0.strftime('%4Y') == '0001':   # Linux
+elif _try('%4Y'):   # Linux
     def _iso8601_format(value):
         return value.strftime("%4Y%m%dT%H:%M:%S")
 else:
     def _iso8601_format(value):
         return value.strftime("%Y%m%dT%H:%M:%S").zfill(17)
 del _day0
+del _try
 
 
 def _strftime(value):