1. 24 Haz, 2012 1 kayıt (commit)
    • 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
  2. 26 May, 2012 1 kayıt (commit)
  3. 25 May, 2012 1 kayıt (commit)
    • R David Murray's avatar
      #12586: add provisional email policy with new header parsing and folding. · 0b6f6c82
      R David Murray yazdı
      When the new policies are used (and only when the new policies are explicitly
      used) headers turn into objects that have attributes based on their parsed
      values, and can be set using objects that encapsulate the values, as well as
      set directly from unicode strings.  The folding algorithm then takes care of
      encoding unicode where needed, and folding according to the highest level
      syntactic objects.
      
      With this patch only date and time headers are parsed as anything other than
      unstructured, but that is all the helper methods in the existing API handle.
      I do plan to add more parsers, and complete the set specified in the RFC
      before the package becomes stable.
      0b6f6c82