@@ -756,7 +756,10 @@ def format_skeleton(skeleton, datetime=None, tzinfo=None, fuzzy=True, locale=LC_
756756 u'Sun, Apr 1'
757757 >>> format_skeleton('yMMd', t, locale='fi') # yMMd is not in the Finnish locale; yMd gets used
758758 u'1.4.2007'
759-
759+ >>> format_skeleton('yMMd', t, fuzzy=False, locale='fi') # yMMd is not in the Finnish locale, an error is thrown
760+ Traceback (most recent call last):
761+ ...
762+ KeyError: yMMd
760763
761764 After the skeleton is resolved to a pattern `format_datetime` is called so
762765 all timezone processing etc is the same as for that.
@@ -928,6 +931,11 @@ def format_interval(start, end, skeleton=None, tzinfo=None, fuzzy=True, locale=L
928931 >>> format_interval(time(16, 18), time(16, 24), "Hm", locale="it")
929932 '16:18\u2013 16:24'
930933
934+ If the start instant equals the end instant, the interval is formatted like the instant.
935+
936+ >>> format_interval(time(16, 18), time(16, 18), "Hm", locale="it")
937+ '16:18'
938+
931939 Unknown skeletons fall back to "default" formatting.
932940
933941 >>> format_interval(time(16, 18), time(16, 24), "xxx", locale="ja")
@@ -1483,6 +1491,14 @@ def split_interval_pattern(pattern):
14831491 [u'E d.M. \u2013 ', 'E d.M.']
14841492 >>> split_interval_pattern("Y 'text' Y 'more text'")
14851493 ["Y 'text '", "Y 'more text'"]
1494+ >>> split_interval_pattern(u"E, MMM d \u2013 E")
1495+ [u'E, MMM d \u2013 ', u'E']
1496+ >>> split_interval_pattern("MMM d")
1497+ ['MMM d']
1498+ >>> split_interval_pattern("y G")
1499+ ['y G']
1500+ >>> split_interval_pattern(u"MMM d \u2013 d")
1501+ [u'MMM d \u2013 ', u'd']
14861502
14871503 :param pattern: Interval pattern string
14881504 :return: list of "subpatterns"
@@ -1516,6 +1532,9 @@ def match_skeleton(skeleton, options, allow_different_fields=False):
15161532
15171533 >>> match_skeleton('yMMd', ('qyMMd',), allow_different_fields=False)
15181534
1535+ >>> match_skeleton('hmz', ('hmv',))
1536+ 'hmv'
1537+
15191538 :param skeleton: The skeleton to match
15201539 :type skeleton: str
15211540 :param options: An iterable of other skeletons to match against
0 commit comments