Skip Montanaro wrote: > I'd like to try out your natural language parser, but can't > find it. I > naively thought this might work, but it doesn't: > > >>> import recur > >>> import datetime > >>> for eachDate in recur.Recurrence(datetime.date(2004, > 1, 7), "every 4 days", datetime.date(2004, 4, 15)): > ... print eachDate > ... > Traceback (most recent call last): > File "<stdin>", line 1, in ? > File "recur.py", line 599, in __init__ > raise ValueError, (u"The supplied description ('%s') " > ValueError: The supplied description ('every 4 days') > could not be parsed. In this case, use: >>> import recur >>> import datetime >>> for eachDate in recur.Recurrence(datetime.date(2004, 1, 7), "4 days", datetime.date(2004, 4, 15)): ... print eachDate ... 2004-01-07 2004-01-11 2004-01-15 2004-01-19 2004-01-23 2004-01-27 2004-01-31 2004-02-04 2004-02-08 2004-02-12 2004-02-16 2004-02-20 2004-02-24 2004-02-28 2004-03-03 2004-03-07 2004-03-11 2004-03-15 2004-03-19 2004-03-23 2004-03-27 2004-03-31 2004-04-04 2004-04-08 2004-04-12 It would be a simple thing to fix by changing a regex in Locale.patterns[byunits] from r"([0-9]+) days?" to r"(?:every )?([0-9]+) days?" I'll probably add this to my default Locale class, but one of the reasons I made a separate Locale class in the first place was to facilitate such modification via subclassing. > I realize this is a usage question and python-dev isn't a usage list. > Still, it suggests that perhaps the community as a whole > needs a bit more > exposure to these concepts before they are incorporated into > the standard > library. Perhaps a PEP about recurrence relations is warranted. As Gustavo has pointed out, the internal, representational details have been pretty much nailed in the iCal RFC. But I agree with you that wrapping them for locale-specific, end-user ease-of-use is important. I wouldn't worry about a PEP unless DateUtil approaches Library inclusion status. Robert Brewer MIS Amor Ministries fumanchu at amor.org
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4