Use standard Python type hints in models
This commit is contained in:
parent
1bb80c67c9
commit
2746d8750d
|
@ -15,9 +15,6 @@ from funkwhale_api.federation import models as federation_models
|
||||||
from funkwhale_api.federation import utils as federation_utils
|
from funkwhale_api.federation import utils as federation_utils
|
||||||
from funkwhale_api.users import models as user_models
|
from funkwhale_api.users import models as user_models
|
||||||
|
|
||||||
from drf_spectacular.utils import extend_schema_field
|
|
||||||
from drf_spectacular.types import OpenApiTypes
|
|
||||||
|
|
||||||
def empty_dict():
|
def empty_dict():
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
|
@ -83,8 +80,7 @@ class Channel(models.Model):
|
||||||
return self.actor.fid
|
return self.actor.fid
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@extend_schema_field(OpenApiTypes.BOOL)
|
def is_local(self) -> bool:
|
||||||
def is_local(self):
|
|
||||||
return self.actor.is_local
|
return self.actor.is_local
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
|
|
@ -18,9 +18,6 @@ from django.urls import reverse
|
||||||
from versatileimagefield.fields import VersatileImageField
|
from versatileimagefield.fields import VersatileImageField
|
||||||
from versatileimagefield.image_warmer import VersatileImageFieldWarmer
|
from versatileimagefield.image_warmer import VersatileImageFieldWarmer
|
||||||
|
|
||||||
from drf_spectacular.utils import extend_schema_field
|
|
||||||
from drf_spectacular.types import OpenApiTypes
|
|
||||||
|
|
||||||
from funkwhale_api.federation import utils as federation_utils
|
from funkwhale_api.federation import utils as federation_utils
|
||||||
|
|
||||||
from . import utils
|
from . import utils
|
||||||
|
@ -243,7 +240,6 @@ class Attachment(models.Model):
|
||||||
return super().save()
|
return super().save()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@extend_schema_field(OpenApiTypes.BOOL)
|
|
||||||
def is_local(self):
|
def is_local(self):
|
||||||
return federation_utils.is_local(self.fid)
|
return federation_utils.is_local(self.fid)
|
||||||
|
|
||||||
|
|
|
@ -19,9 +19,6 @@ from funkwhale_api.common import utils as common_utils
|
||||||
from funkwhale_api.common import validators as common_validators
|
from funkwhale_api.common import validators as common_validators
|
||||||
from funkwhale_api.music import utils as music_utils
|
from funkwhale_api.music import utils as music_utils
|
||||||
|
|
||||||
from drf_spectacular.utils import extend_schema_field
|
|
||||||
from drf_spectacular.types import OpenApiTypes
|
|
||||||
|
|
||||||
from . import utils as federation_utils
|
from . import utils as federation_utils
|
||||||
|
|
||||||
TYPE_CHOICES = [
|
TYPE_CHOICES = [
|
||||||
|
@ -51,8 +48,7 @@ class FederationMixin(models.Model):
|
||||||
abstract = True
|
abstract = True
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@extend_schema_field(OpenApiTypes.BOOL)
|
def is_local(self) -> bool:
|
||||||
def is_local(self):
|
|
||||||
return federation_utils.is_local(self.fid)
|
return federation_utils.is_local(self.fid)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@ -176,8 +172,7 @@ class Domain(models.Model):
|
||||||
return data
|
return data
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@extend_schema_field(OpenApiTypes.BOOL)
|
def is_local(self) -> bool:
|
||||||
def is_local(self):
|
|
||||||
return self.name == settings.FEDERATION_HOSTNAME
|
return self.name == settings.FEDERATION_HOSTNAME
|
||||||
|
|
||||||
|
|
||||||
|
@ -237,24 +232,20 @@ class Actor(models.Model):
|
||||||
return "{}#main-key".format(self.fid)
|
return "{}#main-key".format(self.fid)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@extend_schema_field(OpenApiTypes.STR)
|
def full_username(self) -> str:
|
||||||
def full_username(self):
|
|
||||||
return "{}@{}".format(self.preferred_username, self.domain_id)
|
return "{}@{}".format(self.preferred_username, self.domain_id)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "{}@{}".format(self.preferred_username, self.domain_id)
|
return "{}@{}".format(self.preferred_username, self.domain_id)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@extend_schema_field(OpenApiTypes.BOOL)
|
|
||||||
def is_local(self) -> bool:
|
def is_local(self) -> bool:
|
||||||
return self.domain_id == settings.FEDERATION_HOSTNAME
|
return self.domain_id == settings.FEDERATION_HOSTNAME
|
||||||
|
|
||||||
@extend_schema_field({'type': 'array', 'items': {'type': 'object'}})
|
|
||||||
def get_approved_followers(self):
|
def get_approved_followers(self):
|
||||||
follows = self.received_follows.filter(approved=True)
|
follows = self.received_follows.filter(approved=True)
|
||||||
return self.followers.filter(pk__in=follows.values_list("actor", flat=True))
|
return self.followers.filter(pk__in=follows.values_list("actor", flat=True))
|
||||||
|
|
||||||
@extend_schema_field(OpenApiTypes.BOOL)
|
|
||||||
def should_autoapprove_follow(self, actor):
|
def should_autoapprove_follow(self, actor):
|
||||||
if self.get_channel():
|
if self.get_channel():
|
||||||
return True
|
return True
|
||||||
|
|
|
@ -35,9 +35,6 @@ from funkwhale_api.federation import utils as federation_utils
|
||||||
from funkwhale_api.tags import models as tags_models
|
from funkwhale_api.tags import models as tags_models
|
||||||
from . import importers, metadata, utils
|
from . import importers, metadata, utils
|
||||||
|
|
||||||
from drf_spectacular.utils import extend_schema_field
|
|
||||||
from drf_spectacular.types import OpenApiTypes
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
MAX_LENGTHS = {
|
MAX_LENGTHS = {
|
||||||
|
@ -140,8 +137,7 @@ class APIModelMixin(models.Model):
|
||||||
return super().save(**kwargs)
|
return super().save(**kwargs)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@extend_schema_field(OpenApiTypes.BOOL)
|
def is_local(self) -> bool:
|
||||||
def is_local(self):
|
|
||||||
return federation_utils.is_local(self.fid)
|
return federation_utils.is_local(self.fid)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@ -152,7 +148,6 @@ class APIModelMixin(models.Model):
|
||||||
parsed = urllib.parse.urlparse(self.fid)
|
parsed = urllib.parse.urlparse(self.fid)
|
||||||
return parsed.hostname
|
return parsed.hostname
|
||||||
|
|
||||||
@extend_schema_field({'type': 'array', 'items': {'type': 'string'}})
|
|
||||||
def get_tags(self):
|
def get_tags(self):
|
||||||
return list(sorted(self.tagged_items.values_list("tag__name", flat=True)))
|
return list(sorted(self.tagged_items.values_list("tag__name", flat=True)))
|
||||||
|
|
||||||
|
@ -787,8 +782,7 @@ class Upload(models.Model):
|
||||||
objects = UploadQuerySet.as_manager()
|
objects = UploadQuerySet.as_manager()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@extend_schema_field(OpenApiTypes.BOOL)
|
def is_local(self) -> bool:
|
||||||
def is_local(self):
|
|
||||||
return federation_utils.is_local(self.fid)
|
return federation_utils.is_local(self.fid)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
|
|
@ -29,9 +29,6 @@ from funkwhale_api.federation import keys
|
||||||
from funkwhale_api.federation import models as federation_models
|
from funkwhale_api.federation import models as federation_models
|
||||||
from funkwhale_api.federation import utils as federation_utils
|
from funkwhale_api.federation import utils as federation_utils
|
||||||
|
|
||||||
from drf_spectacular.utils import extend_schema_field
|
|
||||||
from drf_spectacular.types import OpenApiTypes
|
|
||||||
|
|
||||||
def get_token(length=5):
|
def get_token(length=5):
|
||||||
wordlist_path = os.path.join(
|
wordlist_path = os.path.join(
|
||||||
os.path.dirname(os.path.abspath(__file__)), "wordlist.txt"
|
os.path.dirname(os.path.abspath(__file__)), "wordlist.txt"
|
||||||
|
@ -309,8 +306,7 @@ class User(AbstractUser):
|
||||||
|
|
||||||
return groups
|
return groups
|
||||||
|
|
||||||
@extend_schema_field(OpenApiTypes.STR)
|
def full_username(self) -> str:
|
||||||
def full_username(self):
|
|
||||||
return "{}@{}".format(self.username, settings.FEDERATION_HOSTNAME)
|
return "{}@{}".format(self.username, settings.FEDERATION_HOSTNAME)
|
||||||
|
|
||||||
def get_avatar(self):
|
def get_avatar(self):
|
||||||
|
|
Loading…
Reference in New Issue