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 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