[issue22666] email.Header no encoding of unicode strings containing newlines

2020-05-31 Thread Serhiy Storchaka


Serhiy Storchaka  added the comment:

Python 2.7 is no longer supported.

--
nosy: +serhiy.storchaka
resolution:  -> out of date
stage:  -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22666] email.Header no encoding of unicode strings containing newlines

2014-11-27 Thread Flavio Grossi

Flavio Grossi added the comment:

Hi, and thank you for your answer.

However this is not strictly related to the newline, but also to some small 
idiosyncrasies and different behavior among py2 and py3 (and even in py2 using 
Header() or Charset()):

# py2.7, non-unicode str
>>> H('test', 'utf-8').encode()
'=?utf-8?q?test?='

>>> Charset('utf-8').header_encode('test')
'=?utf-8?q?test?='


# py2.7, unicode str
>>> H(u'test', 'utf-8').encode()   # this is the only different result
'test'

>>> Charset('utf-8').header_encode(u'test')
u'=?utf-8?q?test?='



# py3.4, unicode
>>> H('test', 'utf-8').encode()
'=?utf-8?q?test?='  

# py3.4, bytes
>>> H(b'test', 'utf-8').encode() 
'=?utf-8?q?test?='


As you can see, the only when using unicode strings in py2.7 no header encoding 
is done if the unicode string contains only ascii chars.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22666] email.Header no encoding of unicode strings containing newlines

2014-11-27 Thread R. David Murray

R. David Murray added the comment:

I'd have to double check, but I think having /r /n etc encoded in an encopded 
string is illegal per the rfcs.  It should be, anyway.  So IMO the bug is 
encoding them at all, but at this point we probably can't fix it for bacward 
compatibility reasons.

I'm leaving this issue open for the moment because I do want to check the rfc, 
and also double check what the new API does in this situation (and make sure 
there are tests).

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22666] email.Header no encoding of unicode strings containing newlines

2014-11-26 Thread Flavio Grossi

Flavio Grossi added the comment:

any news?

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22666] email.Header no encoding of unicode strings containing newlines

2014-10-18 Thread Flavio Grossi

New submission from Flavio Grossi:

When trying to encode an email header with a newline in it, correct encoding is 
done only for strings and not for unicode strings.
In fact, for unicode strings, encoding is only done if a non ascii character is 
contained in it.

The attached patch should fix the problem.

Simple example to reproduce the problem:
>>> from email.Header import Header as H

# correctly encoded
>>> H('two\r\nlines', 'utf-8').encode()
'=?utf-8?q?two=0D=0Alines?='

# unicode string not encoded
>>> H(u'two\r\nlines', 'utf-8').encode()
'two\r\nlines'

# unicode string with non ascii chars, correctly encoded
>>> H(u'two\r\nlines and \xe0', 'utf-8').encode()
'=?utf-8?b?dHdvDQpsaW5lcyBhbmQgw6A=?='

--
components: email
files: fix_email_header_encoding_uses_ascii_before_selected_charset.diff
keywords: patch
messages: 229640
nosy: barry, flavio, r.david.murray
priority: normal
severity: normal
status: open
title: email.Header no encoding of unicode strings containing newlines
type: behavior
versions: Python 2.7
Added file: 
http://bugs.python.org/file36959/fix_email_header_encoding_uses_ascii_before_selected_charset.diff

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com