Skip to content

Commit 2691034

Browse files
committed
Revert "release: merge main into release (#2607)"
This reverts commit 152766f.
1 parent 152766f commit 2691034

File tree

11 files changed

+69
-178
lines changed

11 files changed

+69
-178
lines changed

.github/dependabot.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,6 @@ updates:
1616
- 0.13.0
1717
- 0.13.1
1818
- 0.13.2
19-
- dependency-name: "boto3"
20-
- dependency-name: "boto3-stubs"
21-
- dependency-name: "botocore"
22-
- dependency-name: "botocore-stubs"
2319
- dependency-name: lxml
2420
versions:
2521
- 4.6.2

base-requirements.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
dj-database-url==0.5.0
2-
django-pipeline==3.1.0 # 3.0.0 is first version that supports Django 4.2
2+
django-pipeline==3.0.0 # 3.0.0 is first version that supports Django 4.2
33
django-sitetree==1.18.0 # >=1.17.1 is (?) first version that supports Django 4.2
44
django-apptemplates==1.5
5-
django-admin-interface==0.28.9
5+
django-admin-interface==0.24.2
66
django-translation-aliases==0.1.0
77
Django==4.2.16
88
docutils==0.21.2
@@ -11,10 +11,10 @@ cmarkgfm==0.6.0
1111
Pillow==10.4.0
1212
psycopg2-binary==2.9.9
1313
python3-openid==3.2.0
14-
python-decouple==3.8
14+
python-decouple==3.4
1515
# lxml used by BeautifulSoup.
1616
lxml==5.2.2
17-
cssselect==1.2.0
17+
cssselect==1.1.0
1818
feedparser==6.0.11
1919
beautifulsoup4==4.12.3
2020
icalendar==4.0.7
@@ -26,7 +26,7 @@ django-imagekit==5.0 # 5.0 is first version that supports Django 4.2
2626
django-haystack==3.2.1
2727
elasticsearch>=7,<8
2828
# TODO: 0.14.0 only supports Django 1.8 and 1.11.
29-
django-tastypie==0.14.7 # 0.14.6 is first version that supports Django 4.2
29+
django-tastypie==0.14.6 # 0.14.6 is first version that supports Django 4.2
3030

3131
pytz==2021.1
3232
python-dateutil==2.8.2

dev-requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
# Required for running tests
44

5-
factory-boy==3.3.1
5+
factory-boy==3.2.1
66
Faker==0.8.1
77
tblib==1.7.0
88
responses==0.13.3

docker-compose.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
version: "3.9"
2+
13
services:
24
postgres:
35
image: postgres:15.3-bullseye

docs/source/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ General information
1010
:Issue tracker: https://github.com/python/pythondotorg/issues
1111
:Mailing list: pydotorg-www_
1212
:IRC: ``#pydotorg`` on Freenode
13+
:Staging site: https://staging.python.org/ (``main`` branch)
1314
:Production configuration: https://github.com/python/psf-salt
1415
:GitHub Actions:
1516
.. image:: https://github.com/python/pythondotorg/actions/workflows/ci.yml/badge.svg

docs/source/install.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ web_1 | Starting development server at http://0.0.0.0:8000/
5555
web_1 | Quit the server with CONTROL-C.
5656
```
5757

58-
You can view these results in your local web browser at: <http://localhost:8000>
58+
You can view these results in your local web browser at: `http://localhost:8000`
5959

6060
To reset your local environment, run:
6161

@@ -88,7 +88,7 @@ This is a simple wrapper around running `python manage.py` in the container, all
8888
Manual setup
8989
------------
9090

91-
First, install [PostgreSQL](https://www.postgresql.org/download/) on your machine and run it. *pythondotorg* currently uses Postgres 15.x.
91+
First, install [PostgreSQL](https://www.postgresql.org/download/) on your machine and run it. *pythondotorg* currently uses Postgres 10.21.
9292

9393
Then clone the repository:
9494

@@ -99,7 +99,7 @@ $ git clone git://github.com/python/pythondotorg.git
9999
Then create a virtual environment:
100100

101101
```
102-
$ python3 -m venv venv
102+
$ python3.9 -m venv venv
103103
```
104104

105105
And then you'll need to install dependencies. You don't need to use `pip3` inside a Python 3 virtual environment:

events/models.py

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -211,15 +211,8 @@ def previous_time(self):
211211
return None
212212

213213
@property
214-
def next_or_previous_time(self) -> models.Model:
215-
"""Return the next or previous time of the event OR the occurring rule."""
216-
if next_time := self.next_time:
217-
return next_time
218-
219-
if previous_time := self.previous_time:
220-
return previous_time
221-
222-
return self.occurring_rule if hasattr(self, "occurring_rule") else None
214+
def next_or_previous_time(self):
215+
return self.next_time or self.previous_time
223216

224217
@property
225218
def is_past(self):

events/tests/test_views.py

Lines changed: 7 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -35,50 +35,11 @@ def setUpTestData(cls):
3535
finish=cls.now - datetime.timedelta(days=1),
3636
)
3737

38-
# Future event
39-
cls.future_event = Event.objects.create(title='Future Event', creator=cls.user, calendar=cls.calendar, featured=True)
40-
RecurringRule.objects.create(
41-
event=cls.future_event,
42-
begin=cls.now + datetime.timedelta(days=1),
43-
finish=cls.now + datetime.timedelta(days=2),
44-
)
45-
46-
# Happening now event
47-
cls.current_event = Event.objects.create(title='Current Event', creator=cls.user, calendar=cls.calendar)
48-
RecurringRule.objects.create(
49-
event=cls.current_event,
50-
begin=cls.now - datetime.timedelta(hours=1),
51-
finish=cls.now + datetime.timedelta(hours=1),
52-
)
53-
54-
# Just missed event
55-
cls.just_missed_event = Event.objects.create(title='Just Missed Event', creator=cls.user, calendar=cls.calendar)
56-
RecurringRule.objects.create(
57-
event=cls.just_missed_event,
58-
begin=cls.now - datetime.timedelta(hours=3),
59-
finish=cls.now - datetime.timedelta(hours=1),
60-
)
61-
62-
# Past event
63-
cls.past_event = Event.objects.create(title='Past Event', creator=cls.user, calendar=cls.calendar)
64-
RecurringRule.objects.create(
65-
event=cls.past_event,
66-
begin=cls.now - datetime.timedelta(days=2),
67-
finish=cls.now - datetime.timedelta(days=1),
68-
)
69-
7038
def test_events_homepage(self):
7139
url = reverse('events:events')
7240
response = self.client.get(url)
73-
events = response.context['object_list']
74-
event_titles = [event.title for event in events]
75-
7641
self.assertEqual(response.status_code, 200)
77-
self.assertEqual(len(events), 6)
78-
79-
self.assertIn('Future Event', event_titles)
80-
self.assertIn('Current Event', event_titles)
81-
self.assertIn('Past Event', event_titles)
42+
self.assertEqual(len(response.context['object_list']), 1)
8243

8344
def test_calendar_list(self):
8445
calendars_count = Calendar.objects.count()
@@ -93,7 +54,7 @@ def test_event_list(self):
9354
response = self.client.get(url)
9455

9556
self.assertEqual(response.status_code, 200)
96-
self.assertEqual(len(response.context['object_list']), 3)
57+
self.assertEqual(len(response.context['object_list']), 1)
9758

9859
url = reverse('events:event_list_past', kwargs={"calendar_slug": 'unexisting'})
9960
response = self.client.get(url)
@@ -105,7 +66,7 @@ def test_event_list_past(self):
10566
response = self.client.get(url)
10667

10768
self.assertEqual(response.status_code, 200)
108-
self.assertEqual(len(response.context['object_list']), 4)
69+
self.assertEqual(len(response.context['object_list']), 1)
10970

11071
def test_event_list_category(self):
11172
category = EventCategory.objects.create(
@@ -153,7 +114,7 @@ def test_event_list_date(self):
153114
response = self.client.get(url)
154115
self.assertEqual(response.status_code, 200)
155116
self.assertEqual(response.context['object'], dt.date())
156-
self.assertEqual(len(response.context['object_list']), 6)
117+
self.assertEqual(len(response.context['object_list']), 2)
157118

158119
def test_eventlocation_list(self):
159120
venue = EventLocation.objects.create(
@@ -189,20 +150,12 @@ def test_event_detail(self):
189150
self.assertEqual(self.event, response.context['object'])
190151

191152
def test_upcoming_tag(self):
192-
self.assertEqual(len(get_events_upcoming()), 3)
193-
self.assertEqual(len(get_events_upcoming(only_featured=True)), 1)
153+
self.assertEqual(len(get_events_upcoming()), 1)
154+
self.assertEqual(len(get_events_upcoming(only_featured=True)), 0)
194155
self.rule.begin = self.now - datetime.timedelta(days=3)
195156
self.rule.finish = self.now - datetime.timedelta(days=2)
196157
self.rule.save()
197-
self.assertEqual(len(get_events_upcoming()), 2)
198-
199-
def test_context_data(self):
200-
url = reverse("events:events")
201-
response = self.client.get(url)
202-
203-
self.assertIn("events_just_missed", response.context)
204-
self.assertIn("upcoming_events", response.context)
205-
self.assertIn("events_now", response.context)
158+
self.assertEqual(len(get_events_upcoming()), 0)
206159

207160

208161
class EventSubmitTests(TestCase):

events/views.py

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -40,21 +40,10 @@ def get_context_data(self, **kwargs):
4040

4141
class EventHomepage(ListView):
4242
""" Main Event Landing Page """
43-
template_name = "events/event_list.html"
43+
template_name = 'events/event_list.html'
4444

45-
def get_queryset(self) -> Event:
46-
"""Queryset to return all events, ordered by START date."""
47-
return Event.objects.all().order_by("-occurring_rule__dt_start")
48-
49-
def get_context_data(self, **kwargs: dict) -> dict:
50-
"""Add more ctx, specifically events that are happening now, just missed, and upcoming."""
51-
context = super().get_context_data(**kwargs)
52-
context["events_just_missed"] = Event.objects.until_datetime(timezone.now())[:2]
53-
context["upcoming_events"] = Event.objects.for_datetime(timezone.now())
54-
context["events_now"] = Event.objects.filter(
55-
occurring_rule__dt_start__lte=timezone.now(),
56-
occurring_rule__dt_end__gte=timezone.now())[:2]
57-
return context
45+
def get_queryset(self):
46+
return Event.objects.for_datetime(timezone.now()).order_by('occurring_rule__dt_start')
5847

5948

6049
class EventDetail(DetailView):
@@ -79,13 +68,11 @@ def get_context_data(self, **kwargs):
7968
class EventList(EventListBase):
8069

8170
def get_queryset(self):
82-
return Event.objects.for_datetime(timezone.now()).filter(calendar__slug=self.kwargs['calendar_slug']).order_by(
83-
'occurring_rule__dt_start')
71+
return Event.objects.for_datetime(timezone.now()).filter(calendar__slug=self.kwargs['calendar_slug']).order_by('occurring_rule__dt_start')
8472

8573
def get_context_data(self, **kwargs):
8674
context = super().get_context_data(**kwargs)
87-
context['events_today'] = Event.objects.until_datetime(timezone.now()).filter(
88-
calendar__slug=self.kwargs['calendar_slug'])[:2]
75+
context['events_today'] = Event.objects.until_datetime(timezone.now()).filter(calendar__slug=self.kwargs['calendar_slug'])[:2]
8976
context['calendar'] = get_object_or_404(Calendar, slug=self.kwargs['calendar_slug'])
9077
return context
9178

successstories/forms.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,6 @@ class Meta:
2424
labels = {
2525
'name': 'Story name',
2626
}
27-
help_texts = {
28-
"content": "Note: Submissions in <a href='https://www.markdownguide.org/basic-syntax/'>Markdown</a> "
29-
"are strongly preferred and can be processed faster.",
30-
}
3127

3228
def clean_name(self):
3329
name = self.cleaned_data.get('name')

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy