diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml
index fc90017..acbdecb 100644
--- a/.github/workflows/main.yaml
+++ b/.github/workflows/main.yaml
@@ -11,7 +11,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v1
with:
- python-version: 3.7
+ python-version: 3.9
- name: Set up Node
uses: actions/setup-node@v2
with:
diff --git a/bookmarks/tests/test_feeds.py b/bookmarks/tests/test_feeds.py
index 51ef971..4bf74ce 100644
--- a/bookmarks/tests/test_feeds.py
+++ b/bookmarks/tests/test_feeds.py
@@ -35,13 +35,13 @@ class FeedsTestCase(TestCase, BookmarkFactoryMixin):
self.assertContains(response, '
All bookmarks')
self.assertContains(response, 'All bookmarks')
self.assertContains(response, f'http://testserver{feed_url}')
- self.assertContains(response, f'')
+ self.assertContains(response, f'')
def test_all_returns_all_unarchived_bookmarks(self):
bookmarks = [
- self.setup_bookmark(),
- self.setup_bookmark(),
- self.setup_bookmark(unread=True),
+ self.setup_bookmark(description='test description'),
+ self.setup_bookmark(website_description='test website description'),
+ self.setup_bookmark(unread=True, description='test description'),
]
self.setup_bookmark(is_archived=True)
self.setup_bookmark(is_archived=True)
@@ -117,7 +117,7 @@ class FeedsTestCase(TestCase, BookmarkFactoryMixin):
self.assertContains(response, 'Unread bookmarks')
self.assertContains(response, 'All unread bookmarks')
self.assertContains(response, f'http://testserver{feed_url}')
- self.assertContains(response, f'')
+ self.assertContains(response, f'')
def test_unread_returns_unread_and_unarchived_bookmarks(self):
self.setup_bookmark(unread=False)
@@ -128,9 +128,9 @@ class FeedsTestCase(TestCase, BookmarkFactoryMixin):
self.setup_bookmark(unread=False, is_archived=True)
unread_bookmarks = [
- self.setup_bookmark(unread=True),
- self.setup_bookmark(unread=True),
- self.setup_bookmark(unread=True),
+ self.setup_bookmark(unread=True, description='test description'),
+ self.setup_bookmark(unread=True, website_description='test website description'),
+ self.setup_bookmark(unread=True, description='test description'),
]
response = self.client.get(reverse('bookmarks:feeds.unread', args=[self.token.key]))
diff --git a/bookmarks/urls.py b/bookmarks/urls.py
index e25ed05..cdb5016 100644
--- a/bookmarks/urls.py
+++ b/bookmarks/urls.py
@@ -1,4 +1,4 @@
-from django.conf.urls import url
+from django.urls import re_path
from django.urls import path, include
from django.views.generic import RedirectView
@@ -9,7 +9,7 @@ from bookmarks.feeds import AllBookmarksFeed, UnreadBookmarksFeed
app_name = 'bookmarks'
urlpatterns = [
# Redirect root to bookmarks index
- url(r'^$', RedirectView.as_view(pattern_name='bookmarks:index', permanent=False)),
+ re_path(r'^$', RedirectView.as_view(pattern_name='bookmarks:index', permanent=False)),
# Bookmarks
path('bookmarks', views.bookmarks.index, name='index'),
path('bookmarks/archived', views.bookmarks.archived, name='archived'),
diff --git a/requirements.prod.txt b/requirements.prod.txt
index 916e3ce..837d0af 100644
--- a/requirements.prod.txt
+++ b/requirements.prod.txt
@@ -1,25 +1,25 @@
-asgiref==3.4.1
-beautifulsoup4==4.7.1
-certifi==2019.6.16
-charset-normalizer==2.0.4
+asgiref==3.5.2
+backports.zoneinfo==0.2.1
+beautifulsoup4==4.11.1
+certifi==2022.6.15
+charset-normalizer==2.1.1
+click==8.1.3
confusable-homoglyphs==3.2.0
-Django==3.2.15
-django-background-tasks==1.2.5
-django-compat==1.0.15
+Django==4.1
django-generate-secret-key==1.0.2
-django-picklefield==3.0.1
-django-registration==3.2
-django-sass-processor==1.0.1
-django-widget-tweaks==1.4.8
-djangorestframework==3.12.4
-idna==2.8
-python-dateutil==2.8.1
-pytz==2021.1
-requests==2.26.0
-soupsieve==1.9.2
+django-registration==3.3
+django-sass-processor==1.2.1
+django-widget-tweaks==1.4.12
+django4-background-tasks==1.2.7
+djangorestframework==3.13.1
+idna==3.3
+python-dateutil==2.8.2
+pytz==2022.2.1
+requests==2.28.1
+soupsieve==2.3.2.post1
sqlparse==0.4.2
-supervisor==4.2.2
+supervisor==4.2.4
typing-extensions==3.10.0.0
-urllib3==1.26.6
-uWSGI==2.0.18
+urllib3==1.26.11
+uWSGI==2.0.20
waybackpy==3.0.6
diff --git a/requirements.txt b/requirements.txt
index cb5217e..57a8c5b 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,31 +1,31 @@
-asgiref==3.4.1
-beautifulsoup4==4.7.1
-certifi==2019.6.16
-charset-normalizer==2.0.4
+asgiref==3.5.2
+backports.zoneinfo==0.2.1
+beautifulsoup4==4.11.1
+certifi==2022.6.15
+charset-normalizer==2.1.1
+click==8.1.3
confusable-homoglyphs==3.2.0
coverage==5.5
-Django==3.2.15
-django-appconf==1.0.4
-django-background-tasks==1.2.5
-django-compat==1.0.15
-django-compressor==2.4.1
-django-debug-toolbar==3.2.1
+Django==4.1
+django-appconf==1.0.5
+django-compressor==4.1
+django-debug-toolbar==3.6.0
django-generate-secret-key==1.0.2
-django-picklefield==3.0.1
-django-registration==3.2
-django-sass-processor==1.0.1
-django-widget-tweaks==1.4.8
-djangorestframework==3.12.4
-idna==2.8
+django-registration==3.3
+django-sass-processor==1.2.1
+django-widget-tweaks==1.4.12
+django4-background-tasks==1.2.7
+djangorestframework==3.13.1
+idna==3.3
libsass==0.21.0
-python-dateutil==2.8.1
-pytz==2021.1
-rcssmin==1.0.6
-requests==2.26.0
-rjsmin==1.1.0
+python-dateutil==2.8.2
+pytz==2022.2.1
+rcssmin==1.1.0
+requests==2.28.1
+rjsmin==1.2.0
six==1.16.0
-soupsieve==1.9.2
+soupsieve==2.3.2.post1
sqlparse==0.4.2
typing-extensions==3.10.0.0
-urllib3==1.26.6
+urllib3==1.26.11
waybackpy==3.0.6