From 909a6f626ff343937cd3f06fda996870e7890724 Mon Sep 17 00:00:00 2001 From: Marco Buttu Date: Sat, 18 Mar 2017 17:59:33 +0100 Subject: [PATCH] bpo-27200: Fix doctests in programming.rst and datetime.rst (#401) --- Doc/conf.py | 1 + Doc/faq/programming.rst | 4 ++-- .../{tzinfo-examples.py => tzinfo_examples.py} | 0 Doc/library/datetime.rst | 10 +++++++--- 4 files changed, 10 insertions(+), 5 deletions(-) rename Doc/includes/{tzinfo-examples.py => tzinfo_examples.py} (100%) diff --git a/Doc/conf.py b/Doc/conf.py index 18aebb68a8..c1c2472a19 100644 --- a/Doc/conf.py +++ b/Doc/conf.py @@ -8,6 +8,7 @@ import sys, os, time sys.path.append(os.path.abspath('tools/extensions')) +sys.path.append(os.path.abspath('includes')) # General configuration # --------------------- diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst index 9c5e20dcad..d9bdb21e79 100644 --- a/Doc/faq/programming.rst +++ b/Doc/faq/programming.rst @@ -1849,7 +1849,7 @@ containing statements like :: will continue to work with the old version of the imported objects. If the module contains class definitions, existing class instances will *not* be updated to use the new class definition. This can result in the following -paradoxical behaviour: +paradoxical behaviour:: >>> import importlib >>> import cls @@ -1860,7 +1860,7 @@ paradoxical behaviour: False The nature of the problem is made clear if you print out the "identity" of the -class objects: +class objects:: >>> hex(id(c.__class__)) '0x7352a0' diff --git a/Doc/includes/tzinfo-examples.py b/Doc/includes/tzinfo_examples.py similarity index 100% rename from Doc/includes/tzinfo-examples.py rename to Doc/includes/tzinfo_examples.py diff --git a/Doc/library/datetime.rst b/Doc/library/datetime.rst index c9318557f5..700a19d8e7 100644 --- a/Doc/library/datetime.rst +++ b/Doc/library/datetime.rst @@ -1221,7 +1221,7 @@ Instance methods: >>> from datetime import datetime - >>> datetime.now().isoformat(timespec='minutes') + >>> datetime.now().isoformat(timespec='minutes') # doctest: +SKIP '2002-12-25T00:00' >>> dt = datetime(2015, 1, 1, 12, 30, 59, 0) >>> dt.isoformat(timespec='microseconds') @@ -1781,9 +1781,11 @@ There is one more :class:`tzinfo` method that a subclass may wish to override: else: return dt -Example :class:`tzinfo` classes: +In the following :download:`tzinfo_examples.py +<../includes/tzinfo_examples.py>` file there are some examples of +:class:`tzinfo` classes: -.. literalinclude:: ../includes/tzinfo-examples.py +.. literalinclude:: ../includes/tzinfo_examples.py Note that there are unavoidable subtleties twice per year in a :class:`tzinfo` subclass accounting for both standard and daylight time, at the DST transition @@ -1804,6 +1806,8 @@ When DST starts (the "start" line), the local wall clock leaps from 1:59 to ``astimezone(Eastern)`` won't deliver a result with ``hour == 2`` on the day DST begins. For example, at the Spring forward transition of 2016, we get + >>> from datetime import datetime, timezone + >>> from tzinfo_examples import HOUR, Eastern >>> u0 = datetime(2016, 3, 13, 5, tzinfo=timezone.utc) >>> for i in range(4): ... u = u0 + i*HOUR -- 2.40.0