classification
Title: [imaplib] MOVE is a legal command
Type: enhancement Stage: resolved
Components: Cross-Build, Extension Modules, Library (Lib) Versions: Python 3.8, Python 3.7, Python 3.6, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: Alex.Willmer, Anthony Singleton, mcepl, miss-islington, vstinner
Priority: normal Keywords: patch

Created on 2018-04-22 22:29 by mcepl, last changed 2018-07-23 14:08 by vstinner. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 6569 merged mcepl, 2018-04-22 22:43
PR 8370 closed mcepl, 2018-07-21 08:20
PR 8373 closed mcepl, 2018-07-21 10:11
PR 8386 closed mcepl, 2018-07-21 21:17
PR 8409 merged miss-islington, 2018-07-23 11:29
PR 8410 merged miss-islington, 2018-07-23 11:30
PR 8411 merged miss-islington, 2018-07-23 11:31
Messages (14)
msg315632 - (view) Author: Matej Cepl (mcepl) * Date: 2018-04-22 22:29
When running

    box = IMAP4_SSL(host)
    box.login(user, pass)
    msgs = somehowget_uids_of_messsages_to_move()
    box.uid('MOVE', msgs, 'target')

I get an error "Unknown IMAP4 UID command: MOVE". The problem is that imaplib contains a list Commands of the permitted IMAP commands, and MOVE is not included, even though it is perfectly legal (and quite widely supported) command according to RFC-6851.
msg318657 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-06-04 15:06
https://tools.ietf.org/html/rfc6851
Internet Message Access Protocol (IMAP) - MOVE Extension
January 2013
msg318658 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-06-04 15:10
Should we also add the MOVE command to Python 2.7, 3.6 and 3.7? The change looks safe and trivial.
msg321950 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-07-19 11:43
> Should we also add the MOVE command to Python 2.7, 3.6 and 3.7? The change looks safe and trivial.

IMHO it's ok to backport this change. The stdlib must follow evolutions of the IMAP protocol. It's a self contained and safe change, it's not a new Python method.
msg321953 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-07-19 11:56
See also bpo-33327: Add a method to move messages to IMAPlib.
msg322078 - (view) Author: Anthony Singleton (Anthony Singleton) Date: 2018-07-21 07:03
Fuck you
msg322199 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-07-23 11:28
New changeset caa331d492acc67d8f4edd16542cebfabbbe1e79 by Victor Stinner (Matěj Cepl) in branch 'master':
bpo-33336, imaplib: Legalize MOVE command (GH-6569)
https://github.com/python/cpython/commit/caa331d492acc67d8f4edd16542cebfabbbe1e79
msg322200 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-07-23 11:31
Matěj Cepl: There is a bot to backport changes to other branches. I closed your backport PRs. I prefer to polish the change for the master branch, and only backport later. For example, I modified the commit message of your PR. The bot also uses "git cherry-pick -x" to mention the sha1 of the backported commit which helps to track the origin of backports.
msg322201 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-07-23 11:32
I don't think that "git cherry-pick -x" can be used before a PR is merged, since the merge changes the SHA1 (using our current workflow).
msg322217 - (view) Author: miss-islington (miss-islington) Date: 2018-07-23 13:17
New changeset 112784984784199d54176132edc38ce8c9b007c1 by Miss Islington (bot) in branch '3.6':
bpo-33336, imaplib: Legalize MOVE command (GH-6569)
https://github.com/python/cpython/commit/112784984784199d54176132edc38ce8c9b007c1
msg322220 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-07-23 13:54
New changeset 96bba049f4bd4d030a72326fd1a67586454f6e2c by Victor Stinner (Miss Islington (bot)) in branch '3.7':
bpo-33336, imaplib: Legalize MOVE command (GH-6569) (GH-8409)
https://github.com/python/cpython/commit/96bba049f4bd4d030a72326fd1a67586454f6e2c
msg322222 - (view) Author: miss-islington (miss-islington) Date: 2018-07-23 14:07
New changeset 7868426c1fe562d2d70bbfd0bb3d0da82f909001 by Miss Islington (bot) in branch '2.7':
bpo-33336, imaplib: Legalize MOVE command (GH-6569)
https://github.com/python/cpython/commit/7868426c1fe562d2d70bbfd0bb3d0da82f909001
msg322223 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-07-23 14:08
Matěj Cepl: Thanks for your change. I applied it to 2.7, 3.6, 3.7 and master branches.
msg322224 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-07-23 14:08
Anthony Singleton: "Fuck you"

What does justify this verbal violence?
History
Date User Action Args
2018-07-23 14:08:45vstinnersetmessages: + msg322224
2018-07-23 14:08:22vstinnersetstatus: open -> closed
resolution: fixed
messages: + msg322223

stage: patch review -> resolved
2018-07-23 14:07:05miss-islingtonsetmessages: + msg322222
2018-07-23 13:54:50vstinnersetmessages: + msg322220
2018-07-23 13:17:28miss-islingtonsetnosy: + miss-islington
messages: + msg322217
2018-07-23 11:32:10vstinnersetmessages: + msg322201
2018-07-23 11:31:13vstinnersetmessages: + msg322200
2018-07-23 11:31:05miss-islingtonsetpull_requests: + pull_request7937
2018-07-23 11:30:04miss-islingtonsetpull_requests: + pull_request7936
2018-07-23 11:29:04miss-islingtonsetpull_requests: + pull_request7935
2018-07-23 11:28:57vstinnersetmessages: + msg322199
2018-07-21 21:17:14mceplsetpull_requests: + pull_request7916
2018-07-21 10:11:54mceplsetpull_requests: + pull_request7906
2018-07-21 08:20:38mceplsetpull_requests: + pull_request7904
2018-07-21 07:03:13Anthony Singletonsetnosy: + Anthony Singleton, Alex.Willmer
messages: + msg322078
components: + Extension Modules, Cross-Build
2018-07-21 06:59:38mceplsetversions: + Python 2.7, Python 3.6, Python 3.7
2018-07-19 11:56:54vstinnersetmessages: + msg321953
2018-07-19 11:43:47vstinnersetmessages: + msg321950
2018-06-04 15:10:24vstinnersetmessages: + msg318658
2018-06-04 15:06:31vstinnersetnosy: + vstinner
messages: + msg318657
2018-04-27 18:30:13terry.reedysettype: enhancement
versions: - Python 3.4, Python 3.5, Python 3.6, Python 3.7
2018-04-22 22:43:16mceplsetkeywords: + patch
stage: patch review
pull_requests: + pull_request6266
2018-04-22 22:29:42mceplcreate