• R David Murray's avatar
    #15160: Extend the new email parser to handle MIME headers. · 97f43c01
    R David Murray yazdı
    This code passes all the same tests that the existing RFC mime header
    parser passes, plus a bunch of additional ones.
    
    There are a couple of commented out tests where there are issues with the
    folding.  The folding doesn't normally get invoked for headers parsed from
    source, and the cases are marginal anyway (headers with invalid binary data)
    so I'm not worried about them, but will fix them after the beta.
    
    There are things that can be done to make this API even more convenient, but I
    think this is a solid foundation worth having.  And the parser is a full RFC
    parser, so it handles cases that the current parser doesn't.  (There are also
    probably cases where it fails when the current parser doesn't, but I haven't
    found them yet ;)
    
    Oh, yeah, and there are some really ugly bits in the parser for handling some
    'postel' cases that are unfortunately common.
    
    I hope/plan to to eventually refactor a lot of the code in the parser which
    should reduce the line count...but there is no escaping the fact that the
    error recovery is welter of special cases.
    97f43c01
Adı
Son kayıt (commit)
Son güncelleme
Doc Loading commit data...
Grammar Loading commit data...
Include Loading commit data...
Lib Loading commit data...
Mac Loading commit data...
Misc Loading commit data...
Modules Loading commit data...
Objects Loading commit data...
PC Loading commit data...
PCbuild Loading commit data...
Parser Loading commit data...
Python Loading commit data...
Tools Loading commit data...
.bzrignore Loading commit data...
.gitignore Loading commit data...
.hgeol Loading commit data...
.hgignore Loading commit data...
.hgtags Loading commit data...
.hgtouch Loading commit data...
LICENSE Loading commit data...
Makefile.pre.in Loading commit data...
README Loading commit data...
config.guess Loading commit data...
config.sub Loading commit data...
configure Loading commit data...
configure.ac Loading commit data...
install-sh Loading commit data...
pyconfig.h.in Loading commit data...
setup.py Loading commit data...