1. 23 Eki, 2006 3 kayıt (commit)
  2. 26 Tem, 2006 1 kayıt (commit)
  3. 25 Tem, 2006 1 kayıt (commit)
    • Barry Warsaw's avatar
      Back port r50693 and r50754 from the trunk (and 2.4 branch): · 2bfcf5d1
      Barry Warsaw yazdı
      decode_rfc2231(): Be more robust against buggy RFC 2231 encodings.
      Specifically, instead of raising a ValueError when there is a single
      tick in the parameter, simply return that the entire string unquoted, with
      None for both the charset and the language.  Also, if there are more than 2
      ticks in the parameter, interpret the first three parts as the standard RFC
      2231 parts, then the rest of the parts as the encoded string.
      
      More RFC 2231 improvements for the email 4.0 package.  As Mark Sapiro
      rightly points out there are really two types of continued headers
      defined in this RFC (i.e. "encoded" parameters with the form
      "name*0*=" and unencoded parameters with the form "name*0="), but we
      were were handling them both the same way and that isn't correct.
      
      This patch should be much more RFC compliant in that only encoded
      params are %-decoded and the charset/language information is only
      extract if there are any encoded params in the segments.  If there are
      no encoded params then the RFC says that there will be no
      charset/language parts.
      
      Note however that this will change the return value for
      Message.get_param() in some cases.  For example, whereas before if you
      had all unencoded param continuations you would have still gotten a
      3-tuple back from this method (with charset and language == None), you
      will now get just a string. I don't believe this is a backward
      incompatible change though because the documentation for this method
      already indicates that either return value is possible and that you
      must do an isinstance(val, tuple) check to discriminate between the
      two.  (Yeah that API kind of sucks but we can't change /that/ without
      breaking code.)
      
      Test cases, some documentation updates, and a NEWS item accompany this
      patch.
      
      Original fewer-than-3-parts fix by Tokio Kikuchi.
      
      Resolves SF bug # 1218081.
      
      Also, bump the package version number to 2.5.8 for release.
      2bfcf5d1
  4. 01 May, 2006 1 kayıt (commit)
    • Barry Warsaw's avatar
      Back port from 2.4 branch: · e3e78518
      Barry Warsaw yazdı
      Patch #1464708 from William McVey: fixed handling of nested comments in mail
      addresses.  E.g.
      
      "Foo ((Foo Bar)) <foo@example.com>"
      
      Fixes for both rfc822.py and email package.
      e3e78518
  5. 09 Şub, 2006 1 kayıt (commit)
  6. 08 Şub, 2006 1 kayıt (commit)
    • Barry Warsaw's avatar
      Patches to address SF bugs 1409538 (Japanese codecs in CODEC_MAP) and 1409455 · f5853f75
      Barry Warsaw yazdı
      (.set_payload() gives bad .get_payload() results).  Specific changes include:
      
      Simplfy the default CODEC_MAP in Charset.py to not include the Japanese and
      Korean codecs.  The names of the codecs are different depending on whether
      you're using Python 2.4 and 2.5, which include the codecs by default, or
      earlier Python's which provide the codecs under different names as a third
      party library.  Now, we attempt to discover which (if either) is available and
      populate the CODEC_MAP as appropriate.
      
      Message.set_charset(): When the message does not already have a
      Content-Transfer-Encoding header, instead of just adding the header, we also
      encode the body as defined by the assigned Charset.  As before, if the
      body_encoding is callable, we just call that.  If not, then we add a call to
      body_encode() before setting the header.  This way, we guarantee that a
      message's text payload is always encoded properly.
      
      Remove the payload encoding code from Generator._handle_text().  With the
      above patch, this would cause the body to be doubly encoded.  Doing this in
      the Message class is better than only doing it in the Generator.
      
      Added some new tests to ensure everything works correctly.  Also changed the
      way the test_email_codecs.py tests get added (using the same lookup code that
      the CODEC_MAP adjustments use).
      
      This resolves both issues for email 2.5/Python 2.3.  I will patch forward to
      email 3.0 for both Python 2.4 and 2.5.
      f5853f75
  7. 04 Şub, 2006 1 kayıt (commit)
  8. 03 Şub, 2006 1 kayıt (commit)
    • Barry Warsaw's avatar
      parsedate_tz(): Return a 1 in the tm_yday field so that the value is · 08bc84c8
      Barry Warsaw yazdı
      acceptable to Python 2.4's time.strftime().  This fix mirrors the behavior in
      email 3.0.  That field is documented as being "not useable" so it might as
      well not be buggy too <wink>.
      
      Add a test for this behavior and update a few tests that were expecting a 0 in
      this field.  After committing I will run the entire Python 2.3 test suite to
      ensure this doesn't break any Python tests.
      08bc84c8
  9. 17 Ock, 2006 2 kayıt (commit)
  10. 31 Agu, 2005 3 kayıt (commit)
  11. 01 Haz, 2005 1 kayıt (commit)
  12. 29 Nis, 2005 1 kayıt (commit)
    • Barry Warsaw's avatar
      get_filename(), get_content_charset(): It's possible that the charset named in · 712d474d
      Barry Warsaw yazdı
      an RFC 2231-style header could be bogus or unknown to Python.  In that case,
      we return the the text part of the parameter undecoded.  However, in
      get_content_charset(), if that is not ascii, then it is an illegal charset and
      so we return failobj.
      
      Test cases and a version bump are included.
      
      Committing this to the Python 2.3 branch because I need to generate an email
      2.5.6 release that contains these patches.  I will port these fixes to Python
      2.4 and 2.5 for email 3.x.
      712d474d
  13. 22 Nis, 2005 1 kayıt (commit)
  14. 21 Mar, 2005 1 kayıt (commit)
  15. 08 Şub, 2005 9 kayıt (commit)
  16. 07 Şub, 2005 2 kayıt (commit)
  17. 06 Şub, 2005 1 kayıt (commit)
  18. 03 Şub, 2005 2 kayıt (commit)
  19. 27 Ock, 2005 2 kayıt (commit)
  20. 26 Ock, 2005 2 kayıt (commit)
  21. 25 Ock, 2005 3 kayıt (commit)