[Django] #32517: Allow calling reversed() on an OrderedSet

28 views
Skip to first unread message

Django

unread,
Mar 6, 2021, 1:25:32 PM3/6/21
to django-...@googlegroups.com
#32517: Allow calling reversed() on an OrderedSet
-------------------------------------+-------------------------------------
Reporter: Chris | Owner: nobody
Jerdonek |
Type: New | Status: new
feature |
Component: Core | Version: 4.0
(Other) |
Severity: Normal | Keywords: OrderedSet,reversed
Triage Stage: | Has patch: 0
Unreviewed |
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 1
UI/UX: 0 |
-------------------------------------+-------------------------------------
Currently,
[https://github.com/django/django/blob/286fb73b6962d197ed0cf041755fb724cfe08600/django/utils/datastructures.py#L5
OrderedSet] isn't reversible (i.e. allowed to be passed as an argument to
Python's [https://docs.python.org/3/library/functions.html#reversed
reversed()]). This would be natural to support given that `OrderedSet` is
ordered. This should be straightforward to add by adding a
`__reversed__()` method to `OrderedSet`.

--
Ticket URL: <https://code.djangoproject.com/ticket/32517>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Mar 6, 2021, 2:33:19 PM3/6/21
to django-...@googlegroups.com
#32517: Allow calling reversed() on an OrderedSet
-------------------------------------+------------------------------------
Reporter: Chris Jerdonek | Owner: nobody
Type: New feature | Status: new
Component: Utilities | Version: 4.0
Severity: Normal | Resolution:
Keywords: OrderedSet,reversed | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
-------------------------------------+------------------------------------
Changes (by Mariusz Felisiak):

* component: Core (Other) => Utilities
* stage: Unreviewed => Accepted


--
Ticket URL: <https://code.djangoproject.com/ticket/32517#comment:1>

Django

unread,
Mar 6, 2021, 3:09:50 PM3/6/21
to django-...@googlegroups.com
#32517: Allow calling reversed() on an OrderedSet
-------------------------------------+-------------------------------------
Reporter: Chris Jerdonek | Owner: diego-
| lima
Type: New feature | Status: assigned

Component: Utilities | Version: 4.0
Severity: Normal | Resolution:
Keywords: OrderedSet,reversed | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by diego-lima):

* owner: nobody => diego-lima
* status: new => assigned


--
Ticket URL: <https://code.djangoproject.com/ticket/32517#comment:2>

Django

unread,
Mar 6, 2021, 4:00:00 PM3/6/21
to django-...@googlegroups.com
#32517: Allow calling reversed() on an OrderedSet
-------------------------------------+-------------------------------------
Reporter: Chris Jerdonek | Owner: Diego
| Lima

Type: New feature | Status: assigned
Component: Utilities | Version: 4.0
Severity: Normal | Resolution:
Keywords: OrderedSet,reversed | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Diego Lima):

* has_patch: 0 => 1


Comment:

Submitted on PR 14089 [https://github.com/django/django/pull/14089].

--
Ticket URL: <https://code.djangoproject.com/ticket/32517#comment:3>

Django

unread,
Mar 6, 2021, 4:49:57 PM3/6/21
to django-...@googlegroups.com
#32517: Allow calling reversed() on an OrderedSet
-------------------------------------+-------------------------------------
Reporter: Chris Jerdonek | Owner: Diego
| Lima
Type: New feature | Status: assigned
Component: Utilities | Version: 4.0
Severity: Normal | Resolution:
Keywords: OrderedSet,reversed | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Diego Lima):

* cc: Diego Lima (added)


--
Ticket URL: <https://code.djangoproject.com/ticket/32517#comment:4>

Django

unread,
Mar 6, 2021, 7:19:17 PM3/6/21
to django-...@googlegroups.com
#32517: Allow calling reversed() on an OrderedSet
-------------------------------------+-------------------------------------
Reporter: Chris Jerdonek | Owner: Diego
| Lima
Type: New feature | Status: assigned
Component: Utilities | Version: 4.0
Severity: Normal | Resolution:
Keywords: OrderedSet,reversed | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Chris Jerdonek):

Since Simon asked in the PR comments, I'll state the reason for this
feature. It would be useful for resolving #32516, which involves reversing
a number of `OrderedSet` objects.

--
Ticket URL: <https://code.djangoproject.com/ticket/32517#comment:5>

Django

unread,
Mar 7, 2021, 4:33:13 AM3/7/21
to django-...@googlegroups.com
#32517: Allow calling reversed() on an OrderedSet
-------------------------------------+-------------------------------------
Reporter: Chris Jerdonek | Owner: Diego
| Lima
Type: New feature | Status: assigned
Component: Utilities | Version: 4.0
Severity: Normal | Resolution:
Keywords: OrderedSet,reversed | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Mariusz Felisiak):

Yes, I accepted assuming it'd be used in #32516. Sorry I should mention
this.

--
Ticket URL: <https://code.djangoproject.com/ticket/32517#comment:6>

Django

unread,
Mar 8, 2021, 2:23:12 AM3/8/21
to django-...@googlegroups.com
#32517: Allow calling reversed() on an OrderedSet
-------------------------------------+-------------------------------------
Reporter: Chris Jerdonek | Owner: Diego
| Lima
Type: New feature | Status: assigned
Component: Utilities | Version: 4.0
Severity: Normal | Resolution:
Keywords: OrderedSet,reversed | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* stage: Accepted => Ready for checkin


--
Ticket URL: <https://code.djangoproject.com/ticket/32517#comment:7>

Django

unread,
Mar 8, 2021, 3:51:46 AM3/8/21
to django-...@googlegroups.com
#32517: Allow calling reversed() on an OrderedSet
-------------------------------------+-------------------------------------
Reporter: Chris Jerdonek | Owner: Diego
| Lima
Type: New feature | Status: closed
Component: Utilities | Version: 4.0
Severity: Normal | Resolution: fixed

Keywords: OrderedSet,reversed | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak <felisiak.mariusz@…>):

* status: assigned => closed
* resolution: => fixed


Comment:

In [changeset:"2e5aa444d140a9f2bc858e493ff85ced589f1a58" 2e5aa444]:
{{{
#!CommitTicketReference repository=""
revision="2e5aa444d140a9f2bc858e493ff85ced589f1a58"
Fixed #32517 -- Made OrderedSet reversible.

Refs #32516.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/32517#comment:8>

Reply all
Reply to author
Forward
0 new messages