Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
b744f3a4
Commit
b744f3a4
authored
May 16, 2015
by
R David Murray
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
#21083: add get_content_disposition method to email.message.
Patch by Abhilash Raj.
parent
b9cec6a3
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
41 additions
and
0 deletions
+41
-0
Doc/library/email.message.rst
Doc/library/email.message.rst
+9
-0
Doc/whatsnew/3.5.rst
Doc/whatsnew/3.5.rst
+8
-0
Lib/email/message.py
Lib/email/message.py
+12
-0
Lib/test/test_email/test_email.py
Lib/test/test_email/test_email.py
+11
-0
Misc/ACKS
Misc/ACKS
+1
-0
No files found.
Doc/library/email.message.rst
View file @
b744f3a4
...
...
@@ -578,6 +578,15 @@ Here are the methods of the :class:`Message` class:
will be *failobj*.
.. method:: get_content_disposition()
Return the lowercased value (without parameters) of the message's
:mailheader:`Content-Disposition` header if it has one, or ``None``. The
possible values for this method are *inline*, *attachment* or ``None``
if the message follows :rfc:`2183`.
.. versionadded:: 3.5
.. method:: walk()
The :meth:`walk` method is an all-purpose generator which can be used to
...
...
Doc/whatsnew/3.5.rst
View file @
b744f3a4
...
...
@@ -348,6 +348,14 @@ doctest
*module* contains no docstrings instead of raising :exc:`ValueError`.
(Contributed by Glenn Jones in :issue:`15916`.)
email
-----
* A new method :meth:`~email.message.Message.get_content_disposition` provides
easy access to a canonical value for the :mailheader:`Content-Disposition`
header (``None`` if there is no such header). (Contributed by Abhilash Raj
in :issue:`21083`.)
glob
----
...
...
Lib/email/message.py
View file @
b744f3a4
...
...
@@ -927,6 +927,18 @@ class Message:
"""
return
[
part
.
get_content_charset
(
failobj
)
for
part
in
self
.
walk
()]
def
get_content_disposition
(
self
):
"""Return the message's content-disposition if it exists, or None.
The return values can be either 'inline', 'attachment' or None
according to the rfc2183.
"""
value
=
self
.
get
(
'content-disposition'
)
if
value
is
None
:
return
None
c_d
=
_splitparam
(
value
)[
0
].
lower
()
return
c_d
# I.e. def walk(self): ...
from
email.iterators
import
walk
...
...
Lib/test/test_email/test_email.py
View file @
b744f3a4
...
...
@@ -586,6 +586,17 @@ class TestMessageAPI(TestEmailBase):
eq
(
msg
.
values
(),
[
'One Hundred'
,
'Twenty'
,
'Three'
,
'Eleven'
])
self
.
assertRaises
(
KeyError
,
msg
.
replace_header
,
'Fourth'
,
'Missing'
)
def
test_get_content_disposition
(
self
):
msg
=
Message
()
self
.
assertIsNone
(
msg
.
get_content_disposition
())
msg
.
add_header
(
'Content-Disposition'
,
'attachment'
,
filename
=
'random.avi'
)
self
.
assertEqual
(
msg
.
get_content_disposition
(),
'attachment'
)
msg
.
replace_header
(
'Content-Disposition'
,
'inline'
)
self
.
assertEqual
(
msg
.
get_content_disposition
(),
'inline'
)
msg
.
replace_header
(
'Content-Disposition'
,
'InlinE'
)
self
.
assertEqual
(
msg
.
get_content_disposition
(),
'inline'
)
# test_defect_handling:test_invalid_chars_in_base64_payload
def
test_broken_base64_payload
(
self
):
x
=
'AwDp0P7//y6LwKEAcPa/6Q=9'
...
...
Misc/ACKS
View file @
b744f3a4
...
...
@@ -1134,6 +1134,7 @@ Thomas Rachel
Ram Rachum
Jérôme Radix
Burton Radons
Abhilash Raj
Shorya Raj
Jeff Ramnani
Brodie Rao
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment