Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extend checks for more Python-s and fix annotations for Python 3.8 #78

Merged
merged 2 commits into from
Dec 3, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,17 @@ jobs:
build:
name: Check and test transferwee
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: ['3.8', '3.10', '3.12']
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Python 3.10
- name: Set up Python ${{ matrix.version }}
uses: actions/setup-python@v4
with:
python-version: '3.10'
python-version: ${{ matrix.version }}
- name: Cache pip
uses: actions/cache@v3
with:
Expand Down
26 changes: 13 additions & 13 deletions transferwee.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
will be shared via emails or link.
"""

from typing import Any, List, Optional, Union
from typing import Any, Dict, List, Optional, Union
import binascii
import functools
import hashlib
Expand Down Expand Up @@ -165,7 +165,7 @@ def download(url: str, file: str = "") -> None:
f.write(chunk)


def _file_name_and_size(file: str) -> dict[str, Union[int, str]]:
def _file_name_and_size(file: str) -> Dict[str, Union[int, str]]:
"""Given a file, prepare the "item_type", "name" and "size" dictionary.

Return a dictionary with "item_type", "name" and "size" keys.
Expand Down Expand Up @@ -216,7 +216,7 @@ def _prepare_email_upload(
sender: str,
recipients: List[str],
session: requests.Session,
) -> dict[Any, Any]:
) -> Dict[Any, Any]:
"""Given a list of filenames, message a sender and recipients prepare for
the email upload.

Expand All @@ -237,7 +237,7 @@ def _prepare_email_upload(

def _verify_email_upload(
transfer_id: str, session: requests.Session
) -> dict[Any, Any]:
) -> Dict[Any, Any]:
"""Given a transfer_id, read the code from standard input.

Return the parsed JSON response.
Expand All @@ -260,7 +260,7 @@ def _prepare_link_upload(
display_name: str,
message: str,
session: requests.Session,
) -> dict[Any, Any]:
) -> Dict[Any, Any]:
"""Given a list of filenames and a message prepare for the link upload.

Return the parsed JSON response.
Expand All @@ -278,7 +278,7 @@ def _prepare_link_upload(

def _storm_urls(
authorization: str,
) -> dict[str, str]:
) -> Dict[str, str]:
"""Given an authorization bearer extract storm URLs.

Return a dict with the various storm URLs.
Expand All @@ -299,7 +299,7 @@ def _storm_urls(

def _storm_preflight_item(
file: str,
) -> dict[str, Union[List[dict[str, int]], str]]:
) -> Dict[str, Union[List[Dict[str, int]], str]]:
"""Given a file, prepare the item block dictionary.

Return a dictionary with "blocks", "item_type" and "path" keys.
Expand All @@ -316,7 +316,7 @@ def _storm_preflight_item(

def _storm_preflight(
authorization: str, filenames: List[str]
) -> dict[Any, Any]:
) -> Dict[Any, Any]:
"""Given an Authorization token and filenames do preflight for upload.

Return the parsed JSON response.
Expand Down Expand Up @@ -355,7 +355,7 @@ def _md5(file: str) -> str:
return h.hexdigest()


def _storm_prepare_item(file: str) -> dict[str, Union[int, str]]:
def _storm_prepare_item(file: str) -> Dict[str, Union[int, str]]:
"""Given a file, prepare the block for blocks dictionary.

Return a dictionary with "content_length" and "content_md5_hex" keys.
Expand All @@ -365,7 +365,7 @@ def _storm_prepare_item(file: str) -> dict[str, Union[int, str]]:
return {"content_length": filesize, "content_md5_hex": _md5(file)}


def _storm_prepare(authorization: str, filenames: List[str]) -> dict[Any, Any]:
def _storm_prepare(authorization: str, filenames: List[str]) -> Dict[Any, Any]:
"""Given an Authorization token and filenames prepare for block uploads.

Return the parsed JSON response.
Expand Down Expand Up @@ -395,7 +395,7 @@ def _storm_prepare(authorization: str, filenames: List[str]) -> dict[Any, Any]:

def _storm_finalize_item(
file: str, block_id: str
) -> dict[str, Union[List[str], str]]:
) -> Dict[str, Union[List[str], str]]:
"""Given a file and block_id prepare the item block dictionary.

Return a dictionary with "block_ids", "item_type" and "path" keys.
Expand All @@ -418,7 +418,7 @@ def _storm_finalize_item(

def _storm_finalize(
authorization: str, filenames: List[str], block_ids: List[str]
) -> dict[Any, Any]:
) -> Dict[Any, Any]:
"""Given an Authorization token, filenames and block ids finalize upload.

Return the parsed JSON response.
Expand Down Expand Up @@ -494,7 +494,7 @@ def _storm_upload(url: str, file: str) -> None:

def _finalize_upload(
transfer_id: str, session: requests.Session
) -> dict[Any, Any]:
) -> Dict[Any, Any]:
"""Given a transfer_id finalize the upload.

Return the parsed JSON response.
Expand Down