From 45c7df3472d838c14b941cb319719cadebbe5b0c Mon Sep 17 00:00:00 2001 From: Harald Nezbeda Date: Mon, 13 Feb 2023 11:09:07 +0100 Subject: [PATCH 1/2] Fixes module import --- content_disposition/__init__.py | 1 + content_disposition/content_disposition.py | 8 +++++--- pyproject.toml | 9 +++++++++ tests/testapp/views.py | 6 ++---- 4 files changed, 17 insertions(+), 7 deletions(-) create mode 100644 pyproject.toml diff --git a/content_disposition/__init__.py b/content_disposition/__init__.py index e69de29..d7c1691 100644 --- a/content_disposition/__init__.py +++ b/content_disposition/__init__.py @@ -0,0 +1 @@ +from .content_disposition import * diff --git a/content_disposition/content_disposition.py b/content_disposition/content_disposition.py index 1b57ec3..a555cfa 100755 --- a/content_disposition/content_disposition.py +++ b/content_disposition/content_disposition.py @@ -2,6 +2,10 @@ import unicodedata from urllib.parse import quote +__all__ = [ + "rfc5987_content_disposition", +] + def rfc5987_content_disposition(file_name, disposition_type="inline"): """ @@ -11,9 +15,7 @@ def rfc5987_content_disposition(file_name, disposition_type="inline"): :param disposition_type: str :return: """ - ascii_name = ( - unicodedata.normalize("NFKD", file_name).encode("ascii", "ignore").decode() - ) + ascii_name = unicodedata.normalize("NFKD", file_name).encode("ascii", "ignore").decode() header = '{}; filename="{}"'.format(disposition_type, ascii_name) if ascii_name != file_name: quoted_name = quote(file_name) diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..74ca983 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,9 @@ +[tool.black] +line-length = 120 +target-version = ['py39'] +exclude = ''' +/( + manage.py + | migrations +)/ +''' diff --git a/tests/testapp/views.py b/tests/testapp/views.py index 656cd36..11904c1 100644 --- a/tests/testapp/views.py +++ b/tests/testapp/views.py @@ -2,7 +2,7 @@ from rest_framework import viewsets from rest_framework.decorators import action -from content_disposition.content_disposition import rfc5987_content_disposition +from content_disposition import rfc5987_content_disposition from .models import Photo from .serializers import PhotoSerializer @@ -30,8 +30,6 @@ def download_route(self, request, pk=None): open(instance.file.path, "rb").read(), content_type=instance.mime, ) - response["Content-Disposition"] = rfc5987_content_disposition( - instance.file.name - ) + response["Content-Disposition"] = rfc5987_content_disposition(instance.file.name) return response From 775a23dbfca43d41ff9f7c92c976ea34538b138e Mon Sep 17 00:00:00 2001 From: Harald Nezbeda Date: Mon, 13 Feb 2023 11:29:23 +0100 Subject: [PATCH 2/2] Update github actions workflow modules and add python 3.11 for tests --- .github/workflows/test.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 81d7537..cabc48c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,9 +12,10 @@ jobs: - "3.8" - "3.9" - "3.10" + - "3.11" steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 @@ -53,4 +54,4 @@ jobs: coverage xml - name: Upload coverage to Codecov - uses: codecov/codecov-action@v2 + uses: codecov/codecov-action@v3