diff options
Diffstat (limited to 'pydis_site/apps')
9 files changed, 20 insertions, 27 deletions
diff --git a/pydis_site/apps/api/github_utils.py b/pydis_site/apps/api/github_utils.py index 5d7bcdc3..986c64e1 100644 --- a/pydis_site/apps/api/github_utils.py +++ b/pydis_site/apps/api/github_utils.py @@ -108,7 +108,7 @@ def authorize(owner: str, repo: str) -> httpx.Client:      client = httpx.Client(          base_url=settings.GITHUB_API,          headers={"Authorization": f"bearer {generate_token()}"}, -        timeout=settings.TIMEOUT_PERIOD, +        timeout=10,      )      try: diff --git a/pydis_site/apps/api/migrations/0013_specialsnake_image.py b/pydis_site/apps/api/migrations/0013_specialsnake_image.py index a0d0d318..8ba3432f 100644 --- a/pydis_site/apps/api/migrations/0013_specialsnake_image.py +++ b/pydis_site/apps/api/migrations/0013_specialsnake_image.py @@ -2,7 +2,6 @@  import datetime  from django.db import migrations, models -from django.utils.timezone import utc  class Migration(migrations.Migration): @@ -15,7 +14,7 @@ class Migration(migrations.Migration):          migrations.AddField(              model_name='specialsnake',              name='image', -            field=models.URLField(default=datetime.datetime(2018, 10, 23, 11, 51, 23, 703868, tzinfo=utc)), +            field=models.URLField(default=datetime.datetime(2018, 10, 23, 11, 51, 23, 703868, tzinfo=datetime.timezone.utc)),              preserve_default=False,          ),      ] diff --git a/pydis_site/apps/api/models/bot/message.py b/pydis_site/apps/api/models/bot/message.py index bfa54721..89ae27e4 100644 --- a/pydis_site/apps/api/models/bot/message.py +++ b/pydis_site/apps/api/models/bot/message.py @@ -1,9 +1,8 @@ -from datetime import datetime +import datetime  from django.contrib.postgres import fields as pgfields  from django.core.validators import MinValueValidator  from django.db import models -from django.utils import timezone  from pydis_site.apps.api.models.bot.user import User  from pydis_site.apps.api.models.mixins import ModelReprMixin @@ -60,11 +59,11 @@ class Message(ModelReprMixin, models.Model):      )      @property -    def timestamp(self) -> datetime: +    def timestamp(self) -> datetime.datetime:          """Attribute that represents the message timestamp as derived from the snowflake id.""" -        tz_naive_datetime = datetime.utcfromtimestamp(((self.id >> 22) + 1420070400000) / 1000) -        tz_aware_datetime = timezone.make_aware(tz_naive_datetime, timezone=timezone.utc) -        return tz_aware_datetime +        return datetime.datetime.utcfromtimestamp( +            ((self.id >> 22) + 1420070400000) / 1000 +        ).replace(tzinfo=datetime.timezone.utc)      class Meta:          """Metadata provided for Django's ORM.""" diff --git a/pydis_site/apps/api/tests/test_github_utils.py b/pydis_site/apps/api/tests/test_github_utils.py index f642f689..2eaf48d9 100644 --- a/pydis_site/apps/api/tests/test_github_utils.py +++ b/pydis_site/apps/api/tests/test_github_utils.py @@ -28,7 +28,7 @@ class GeneralUtilityTests(unittest.TestCase):              """              self.assertEqual("RS256", algorithm, "The GitHub App JWT must be signed using RS256.")              return original_encode( -                payload, "secret-encoding-key", algorithm="HS256", *args, **kwargs +                payload, "secret-encoding-key", *args, algorithm="HS256", **kwargs              )          original_encode = jwt.encode diff --git a/pydis_site/apps/api/viewsets/bot/infraction.py b/pydis_site/apps/api/viewsets/bot/infraction.py index 2b89fdb3..93d29391 100644 --- a/pydis_site/apps/api/viewsets/bot/infraction.py +++ b/pydis_site/apps/api/viewsets/bot/infraction.py @@ -1,9 +1,8 @@ -from datetime import datetime +import datetime  from django.db import IntegrityError  from django.db.models import QuerySet  from django.http.request import HttpRequest -from django.utils import timezone  from django_filters.rest_framework import DjangoFilterBackend  from rest_framework.decorators import action  from rest_framework.exceptions import ValidationError @@ -185,23 +184,21 @@ class InfractionViewSet(          filter_expires_after = self.request.query_params.get('expires_after')          if filter_expires_after:              try: -                expires_after_parsed = datetime.fromisoformat(filter_expires_after) +                expires_after_parsed = datetime.datetime.fromisoformat(filter_expires_after)              except ValueError:                  raise ValidationError({'expires_after': ['failed to convert to datetime']}) -            additional_filters['expires_at__gte'] = timezone.make_aware( -                expires_after_parsed, -                timezone=timezone.utc, +            additional_filters['expires_at__gte'] = expires_after_parsed.replace( +                tzinfo=datetime.timezone.utc              )          filter_expires_before = self.request.query_params.get('expires_before')          if filter_expires_before:              try: -                expires_before_parsed = datetime.fromisoformat(filter_expires_before) +                expires_before_parsed = datetime.datetime.fromisoformat(filter_expires_before)              except ValueError:                  raise ValidationError({'expires_before': ['failed to convert to datetime']}) -            additional_filters['expires_at__lte'] = timezone.make_aware( -                expires_before_parsed, -                timezone=timezone.utc, +            additional_filters['expires_at__lte'] = expires_before_parsed.replace( +                tzinfo=datetime.timezone.utc              )          if 'expires_at__lte' in additional_filters and 'expires_at__gte' in additional_filters: diff --git a/pydis_site/apps/content/resources/guides/pydis-guides/contributing/bot.md b/pydis_site/apps/content/resources/guides/pydis-guides/contributing/bot.md index ad446cc8..633289f2 100644 --- a/pydis_site/apps/content/resources/guides/pydis-guides/contributing/bot.md +++ b/pydis_site/apps/content/resources/guides/pydis-guides/contributing/bot.md @@ -507,7 +507,7 @@ You can start several services together: `docker-compose up web snekbox redis`.  ##### Setting Up a Development Environment  The bot's code is Python code like any other. To run it locally, you will need the right version of Python with the necessary packages installed: -1. Make sure you have [Python 3.9](https://www.python.org/downloads/) installed. It helps if it is your system's default Python version. +1. Make sure you have [Python 3.10](https://www.python.org/downloads/) installed. It helps if it is your system's default Python version.  2. [Install Poetry](https://github.com/python-poetry/poetry#installation).  3. [Install the dependencies](../installing-project-dependencies). diff --git a/pydis_site/apps/content/resources/guides/pydis-guides/contributing/site.md b/pydis_site/apps/content/resources/guides/pydis-guides/contributing/site.md index 520e41ad..9786698b 100644 --- a/pydis_site/apps/content/resources/guides/pydis-guides/contributing/site.md +++ b/pydis_site/apps/content/resources/guides/pydis-guides/contributing/site.md @@ -9,7 +9,7 @@ You should have already forked the [`site`](https://github.com/python-discord/si  ### Requirements -- [Python 3.9](https://www.python.org/downloads/) +- [Python 3.10](https://www.python.org/downloads/)  - [Poetry](https://python-poetry.org/docs/#installation)      - `pip install poetry`  - [Git](https://git-scm.com/downloads) diff --git a/pydis_site/apps/content/resources/guides/pydis-guides/contributing/style-guide.md b/pydis_site/apps/content/resources/guides/pydis-guides/contributing/style-guide.md index 4dba45c8..b26c467c 100644 --- a/pydis_site/apps/content/resources/guides/pydis-guides/contributing/style-guide.md +++ b/pydis_site/apps/content/resources/guides/pydis-guides/contributing/style-guide.md @@ -202,6 +202,3 @@ def foo(input_1: int, input_2: dict[str, int]) -> bool:  This tells us that `foo` accepts an `int` and a `dict`, with `str` keys and `int` values, and returns a `bool`.  In previous examples, we have purposely omitted annotations to keep focus on the specific points they represent. - -> **Note:** if the project is running Python 3.8 or below you have to use `typing.Dict` instead of `dict`, but our three main projects are all >=3.9. -> See [PEP 585](https://www.python.org/dev/peps/pep-0585/) for more information. diff --git a/pydis_site/apps/redirect/urls.py b/pydis_site/apps/redirect/urls.py index f7ddf45b..f86fe665 100644 --- a/pydis_site/apps/redirect/urls.py +++ b/pydis_site/apps/redirect/urls.py @@ -3,6 +3,7 @@ import re  import yaml  from django import conf +from django.http import HttpResponse  from django.urls import URLPattern, path  from django_distill import distill_path @@ -53,7 +54,7 @@ def map_redirect(name: str, data: Redirect) -> list[URLPattern]:          class RedirectFunc:              def __init__(self, new_url: str, _name: str): -                self.result = REDIRECT_TEMPLATE.format(url=new_url) +                self.result = HttpResponse(REDIRECT_TEMPLATE.format(url=new_url))                  self.__qualname__ = _name              def __call__(self, *args, **kwargs): @@ -95,7 +96,7 @@ def map_redirect(name: str, data: Redirect) -> list[URLPattern]:          return [distill_path(              data.original_path, -            lambda *args: REDIRECT_TEMPLATE.format(url=new_redirect), +            lambda *args: HttpResponse(REDIRECT_TEMPLATE.format(url=new_redirect)),              name=name,          )]  |