summaryrefslogtreecommitdiffstats
path: root/Lib/rfc822.py
Commit message (Collapse)AuthorAgeFilesLines
* Stoopid change, just to mention that the last checkin resolves SF bugBarry Warsaw2001-07-161-1/+1
| | | | #437395
* Fix address parsing to be RFC 2822 conformant. Specifically, dots areBarry Warsaw2001-07-161-105/+123
| | | | | | | | | | | | | | | | | | | | | | | | now allowed in unquoted RealName areas (technically, they are defined as "obsolete syntax" we MUST accept in phrases, as part of the obs-phrase production). Thus, parsing To: User J. Person <person@dom.ain> correctly returns "User J. Person" as the RealName. AddrlistClass.__init__(): Add definition of self.phraseends which is just self.atomends with `.' removed. getatom(): Add an optional argument `atomends' which, if None (the default) means use self.atomends. getphraselist(): Pass self.phraseends to getatom() and break out of the loop only when the current character is in phraseends instead of atomends. This allows dots to continue to serve as atom delimiters in all contexts except phrases. Also, loads of docstring updates to document RFC 2822 conformance (sorry, this should have been two separate patches).
* Clean up a bare except: clause.unknown2001-07-041-1/+1
|
* Per discussion with Barry, make the default value for both get() andFred Drake2001-05-221-5/+4
| | | | | | setdefault() the empty string. In setdefault(), use + to join the value to create the entry for the headers attribute so that TypeError is raised if the value is of the wrong type.
* Added .get() and .setdefault() support to rfc822.Message.Fred Drake2001-05-221-0/+20
|
* bunch more __all__ listsSkip Montanaro2001-02-151-0/+1
| | | | | | also modified check_all function to suppress all warnings since they aren't relevant to what this test is doing (allows quiet checking of regsub, for instance)
* Whitespace normalization.Tim Peters2001-01-151-83/+83
|
* Duh. Instead of string.whitespace and string.digits, use isspace()Guido van Rossum2001-01-021-6/+5
| | | | and isdigit() methods.
* Get rid of string functions. References to string.whitespace,Guido van Rossum2000-12-151-63/+57
| | | | string.digits are left.
* Implement the suggestion of bug_id=122070: surround tell() call withGuido van Rossum2000-11-091-1/+5
| | | | try/except.
* AddrlistClass.getdomainliteral(): rfc822 requires that the domainBarry Warsaw2000-09-251-1/+1
| | | | | | literal be wrapped in square brackets. This fix replaces the square brackets that were previously being stripped off. Closes SF bug #110621.
* Support for augmented assignment in the UserList, UserDict, UserString andThomas Wouters2000-08-241-0/+14
| | | | | | rfc822 (Addresslist) modules. Also a preliminary testcase for augmented assignment, which should actually be merged with the test_class testcase I added last week.
* Spelling fixes supplied by Rob W. W. Hooft. All these are fixes in eitherThomas Wouters2000-07-161-1/+1
| | | | | | | | | | comments, docstrings or error messages. I fixed two minor things in test_winreg.py ("didn't" -> "Didn't" and "Didnt" -> "Didn't"). There is a minor style issue involved: Guido seems to have preferred English grammar (behaviour, honour) in a couple places. This patch changes that to American, which is the more prominent style in the source. I prefer English myself, so if English is preferred, I'd be happy to supply a patch myself ;)
* Untabify to pass the -tt test.Fred Drake2000-02-101-11/+11
|
* Fix by Nick Russo in processing of timezone in test program; theGuido van Rossum2000-01-171-2/+4
| | | | ParsedDate didn't have the correct day of week.
* Fix PR#3, submitted by Skip Montanaro: if no space appears after theGuido van Rossum1999-10-061-1/+1
| | | | colon, the first character of the value is lost.
* After much hemming and hawing, we decided to roll back Fred's change.Guido van Rossum1999-09-151-5/+5
| | | | | | It breaks Mailman, it was actually documented in the docstring, so it was an intentional deviation from the usual del semantics. Let's document the original behavior in Doc/lib/librfc822.tex.
* Message.__delitem__(): If the key doesn't exist in the dictionary,Fred Drake1999-09-101-5/+5
| | | | raise KeyError instead of failing silently!
* Correct typo in AddressList.__getitem__. By Moshe Zadka.Guido van Rossum1999-09-031-1/+1
|
* AddrlistClass.getaddress(): when parsing `:'s, in the loop, watch outBarry Warsaw1999-07-121-1/+2
| | | | | | for gotonext() pushing self.pos past the end of the string. This can happen if the message has a To field like "To: :" and you call msg.getaddrlist('to').
* Barry Scott writes:Guido van Rossum1999-06-151-1/+1
| | | | | | | | | | | | | | | | | | | Problem: rfc822.py in 1.5.2 final loses the quotes around quoted local-part names. The fix is to preserve the quotes around a local-part name in an address. Test: import rfc822 a = rfc822.AddrlistClass('(Comment stuff) "Quoted name"@somewhere.com') a.getaddrlist() The correct result is: [('Comment stuff', '"Quoted name"@somewhere.com')]
* Message.getheaders(): If there are no matching headers, return anFred Drake1999-06-141-2/+3
| | | | empty list instead of None. (Guido's request.)
* Mike Meyer reports a bug in his patch (several months ago) thatGuido van Rossum1999-04-291-0/+1
| | | | accepts long month names. One essential line was missing. Fixed now.
* Message.getheader(): Fixed grammatical error in docstring.Fred Drake1999-04-281-1/+26
| | | | | Message.getheaders(): Method to get list of all values for each instance of a named header. See docstring for more.
* Utility function that yields a properly formatted time string.Guido van Rossum1999-04-191-0/+10
| | | | | (Idea by Jeff Bauer, code by Jeremy, renamed and "Date:" constant stripped from return value by GvR.)
* Message.getaddrlist(): This now handles multiple occurances of theBarry Warsaw1999-01-141-12/+21
| | | | | | | | | | | | | | | | | | named header, so that if a message has, e.g. multiple CC: lines, all will get returned by the call to getaddrlist(). It also correctly handles addresses which show up in continuation lines. AdderlistClass.__init__(): Added \n to self.CR which fixes a bug that sometimes, an address would contain a bogus trailing newline. Message.getaddress(): In final else clause, added a test for the character we're at being in self.specials. Without this, such characters never get consumed and we infloop. Case in point (as posted to c.l.py): To: <[smtp:dd47@mail.xxx.edu]_at_hmhq@hdq-mdm1-imgout.companay.com> ----------------------------^ otherwise we'd infloop here
* Patch by Mike Meyer:Guido van Rossum1998-12-231-5/+19
| | | | | | | | Extended the rfc822 parsedate routines to handle the cases they failed on in an archive of ~37,000 messages. I believe the changes are compatible, in that all previously correct parsing are still correct. [I still see problems with some messages, but no showstoppers.]
* Avoid crash in parsedate_tz() on certain invalid dates -- when theGuido van Rossum1998-12-231-1/+3
| | | | | | field assumed to be the time is in fact the year, the resulting list doesn't have enough items, and this isn't checked for. Return None instead.
* Don't use calculations on values gotten from tell(). Also use aGuido van Rossum1998-07-211-4/+11
| | | | slightly different way to test for the existence of unread.
* Bugfix to ESR's code reported by himself: should use hasattr() to testGuido van Rossum1998-06-221-1/+1
| | | | for presence unread, not getattr()!
* Add __getitem__ to AddressList object, to make it a sequence.Guido van Rossum1998-06-161-0/+4
|
* Some extra comments and docstrings, and a new class (AddressList), all by ESR.Guido van Rossum1998-06-161-1/+48
|
* Support new overridable method, isheader() (ESR).Guido van Rossum1998-06-111-24/+48
| | | | Also implement __setitem__(), more-or-less correctly (GvR).
* Some changes suggested/provided by Eric Raymond:Guido van Rossum1998-06-101-7/+52
| | | | | | | | | | | | | - explain seekable - when seekable==1, test fp.tell() and set it to 0 if that fails - support overridable method iscomment(line) to weed out comments - check for unread() method on file object before trying to seek And one of my own: - Add a get() method which behaves like a dictionary's get(); this is actually implemented by giving getheader() an optional second argument to specify the default, and aliasing get to getheader.
* Neatify the _timezones table and remove a misleading comment aboutGuido van Rossum1998-05-181-12/+5
| | | | inaccuracies in mktime_tz().
* Added a __delitem__ to the Message class.Guido van Rossum1998-04-021-0/+22
| | | | (Still no __setitem__, until I get a request to add it!)
* Mass check-in after untabifying all files that need it.Guido van Rossum1998-03-261-17/+17
|
* Initialize adlist variable in getrouteaddr(), so an illegal addressGuido van Rossum1998-03-031-0/+1
| | | | doesn't cause a traceback.
* Feature added by Bill van Melle: when no timezone is present, assumeGuido van Rossum1998-02-191-7/+14
| | | | local time -- that's better than failure.
* Fix sign reversal in mktime_tz discovered by Bill van Melle.Guido van Rossum1998-02-181-1/+1
|
* Remove unneeded "import re".Guido van Rossum1997-12-111-1/+0
|
* Doc strings and reformatting with 4 spaces bty Mitch Chapman.Guido van Rossum1997-12-101-609/+661
| | | | Untabified and minor tweaks by me.
* New address parser by Ben Escoto replacesGuido van Rossum1997-11-221-125/+247
| | | | Sjoerd Mullender's parseaddr()
* Convert all remaining *simple* cases of regex usage to re usage.Guido van Rossum1997-10-221-5/+4
|
* Entirely rewritten parseaddr() function by Sjoerd Mullender.Guido van Rossum1997-09-151-53/+92
| | | | (Includes a patch he sent me a few days later.)
* Tweaks by Lars Wirzenius to parse some more forms of illegal dates:Guido van Rossum1997-07-251-2/+5
| | | | | | | | the comma after the day name is optional if it is a recognized day name; and the date and month may be swapped. Thus, the following two test dates will now be parsed correctly: Thu, Feb 13 12:16:57 1992 Thu Feb 13 12:16:57 1992
* Added support for RFC 850 style dates, as used by some HTTP serversGuido van Rossum1996-12-271-0/+4
| | | | | | | | (such as Netscape-Commerce and CERN). An example of a RFC 850 date: 'Wednesday, 18-Dec-96 21:00:00 GMT' From: Chris Lawrence <quango@themall.net>
* Add mktime_tz() which turns a date_tz 10-tuple into a standard Unix timestamp.Guido van Rossum1996-12-121-0/+11
|
* Added support for timezone in date field. getdate_tz() andGuido van Rossum1996-11-201-6/+57
| | | | | parsedate_tz() return a 10-tuple, the last field is the tz offset in seconds (e.g. -18000 or -5 hours for EST).
* New, improved parseaddr() by Sjoerd.Guido van Rossum1996-07-301-30/+83
|