Update `_wrap_in_base_path` type hints to preserve function arguments (#11055)

code_spécifique_watcha
Sean Quah 3 years ago committed by GitHub
parent 77ea03086c
commit 8eaffe013c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      changelog.d/11055.misc
  2. 9
      synapse/rest/media/v1/filepath.py

@ -0,0 +1 @@
Improve type hints for `_wrap_in_base_path` decorator used by `MediaFilePaths`.

@ -16,12 +16,15 @@
import functools
import os
import re
from typing import Any, Callable, List
from typing import Any, Callable, List, TypeVar, cast
NEW_FORMAT_ID_RE = re.compile(r"^\d\d\d\d-\d\d-\d\d")
def _wrap_in_base_path(func: Callable[..., str]) -> Callable[..., str]:
F = TypeVar("F", bound=Callable[..., str])
def _wrap_in_base_path(func: F) -> F:
"""Takes a function that returns a relative path and turns it into an
absolute path based on the location of the primary media store
"""
@ -31,7 +34,7 @@ def _wrap_in_base_path(func: Callable[..., str]) -> Callable[..., str]:
path = func(self, *args, **kwargs)
return os.path.join(self.base_path, path)
return _wrapped
return cast(F, _wrapped)
class MediaFilePaths:

Loading…
Cancel
Save