ruff: Fix DJ012 Order of model's inner classes, methods, and fields.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg 2023-04-12 13:40:35 -07:00 committed by Tim Abbott
parent cdaf12da44
commit 0a3dc8a944
3 changed files with 45 additions and 45 deletions

View File

@ -186,12 +186,12 @@ class Confirmation(models.Model):
REALM_REACTIVATION = 8
type = models.PositiveSmallIntegerField()
def __str__(self) -> str:
return f"{self.content_object!r}"
class Meta:
unique_together = ("type", "confirmation_key")
def __str__(self) -> str:
return f"{self.content_object!r}"
class ConfirmationType:
def __init__(

View File

@ -28,6 +28,9 @@ class Customer(models.Model):
# they purchased.
exempt_from_from_license_number_check = models.BooleanField(default=False)
def __str__(self) -> str:
return f"{self.realm!r} {self.stripe_customer_id}"
@property
def is_self_hosted(self) -> bool:
is_self_hosted = self.remote_server is not None
@ -42,9 +45,6 @@ class Customer(models.Model):
assert self.remote_server is None
return is_cloud
def __str__(self) -> str:
return f"{self.realm!r} {self.stripe_customer_id}"
def get_customer_by_realm(realm: Realm) -> Optional[Customer]:
return Customer.objects.filter(realm=realm).first()

View File

@ -692,14 +692,6 @@ class Realm(models.Model): # type: ignore[django-manager-missing] # django-stub
},
}
def get_giphy_rating_options(self) -> Dict[str, Dict[str, object]]:
"""Wrapper function for GIPHY_RATING_OPTIONS that ensures evaluation
of the lazily evaluated `name` field without modifying the original."""
return {
rating_type: {"name": str(rating["name"]), "id": rating["id"]}
for rating_type, rating in self.GIPHY_RATING_OPTIONS.items()
}
# maximum rating of the GIFs that will be retrieved from GIPHY
giphy_rating = models.PositiveSmallIntegerField(default=GIPHY_RATING_OPTIONS["g"]["id"])
@ -793,6 +785,17 @@ class Realm(models.Model): # type: ignore[django-manager-missing] # django-stub
)
night_logo_version = models.PositiveSmallIntegerField(default=1)
def __str__(self) -> str:
return f"{self.string_id} {self.id}"
def get_giphy_rating_options(self) -> Dict[str, Dict[str, object]]:
"""Wrapper function for GIPHY_RATING_OPTIONS that ensures evaluation
of the lazily evaluated `name` field without modifying the original."""
return {
rating_type: {"name": str(rating["name"]), "id": rating["id"]}
for rating_type, rating in self.GIPHY_RATING_OPTIONS.items()
}
def authentication_methods_dict(self) -> Dict[str, bool]:
"""Returns the mapping from authentication flags to their status,
showing only those authentication flags that are supported on
@ -813,9 +816,6 @@ class Realm(models.Model): # type: ignore[django-manager-missing] # django-stub
ret[k] = v
return ret
def __str__(self) -> str:
return f"{self.string_id} {self.id}"
# `realm` instead of `self` here to make sure the parameters of the cache key
# function matches the original method.
@cache_with_key(get_realm_emoji_cache_key, timeout=3600 * 24 * 7)
@ -1125,9 +1125,6 @@ class RealmEmoji(models.Model):
PATH_ID_TEMPLATE = "{realm_id}/emoji/images/{emoji_file_name}"
STILL_PATH_ID_TEMPLATE = "{realm_id}/emoji/images/still/{emoji_filename_without_extension}.png"
def __str__(self) -> str:
return f"{self.realm.string_id}: {self.id} {self.name} {self.deactivated} {self.file_name}"
class Meta:
constraints = [
models.UniqueConstraint(
@ -1137,6 +1134,9 @@ class RealmEmoji(models.Model):
),
]
def __str__(self) -> str:
return f"{self.realm.string_id}: {self.id} {self.name} {self.deactivated} {self.file_name}"
def get_realm_emoji_dicts(realm: Realm, only_active_emojis: bool = False) -> Dict[str, EmojiInfo]:
# RealmEmoji objects with file_name=None are still in the process
@ -1286,6 +1286,9 @@ class RealmFilter(models.Model):
class Meta:
unique_together = ("realm", "pattern")
def __str__(self) -> str:
return f"{self.realm.string_id}: {self.pattern} {self.url_format_string}"
def clean(self) -> None:
"""Validate whether the set of parameters in the URL Format string
match the set of parameters in the regular expression.
@ -1328,9 +1331,6 @@ class RealmFilter(models.Model):
params={"name": name},
)
def __str__(self) -> str:
return f"{self.realm.string_id}: {self.pattern} {self.url_format_string}"
def get_linkifiers_cache_key(realm_id: int) -> str:
return f"{cache.KEY_PREFIX}:all_linkifiers_for_realm:{realm_id}"
@ -1486,14 +1486,14 @@ class Recipient(models.Model):
# N.B. If we used Django's choice=... we would get this for free (kinda)
_type_names = {PERSONAL: "personal", STREAM: "stream", HUDDLE: "huddle"}
def type_name(self) -> str:
# Raises KeyError if invalid
return self._type_names[self.type]
def __str__(self) -> str:
display_recipient = get_display_recipient(self)
return f"{display_recipient} ({self.type_id}, {self.type})"
def type_name(self) -> str:
# Raises KeyError if invalid
return self._type_names[self.type]
class UserBaseSettings(models.Model):
"""This abstract class is the container for all preferences/personal
@ -2623,6 +2623,11 @@ class Stream(models.Model):
),
}
class Meta:
indexes = [
models.Index(Upper("name"), name="upper_stream_name_idx"),
]
def __str__(self) -> str:
return self.name
@ -2680,11 +2685,6 @@ class Stream(models.Model):
is_announcement_only=self.stream_post_policy == Stream.STREAM_POST_POLICY_ADMINS,
)
class Meta:
indexes = [
models.Index(Upper("name"), name="upper_stream_name_idx"),
]
post_save.connect(flush_stream, sender=Stream)
post_delete.connect(flush_stream, sender=Stream)
@ -4115,12 +4115,6 @@ class UserPresence(models.Model):
https://zulip.readthedocs.io/en/latest/subsystems/presence.html
"""
class Meta:
unique_together = ("user_profile", "client")
index_together = [
("realm", "timestamp"),
]
user_profile = models.ForeignKey(UserProfile, on_delete=CASCADE)
realm = models.ForeignKey(Realm, on_delete=CASCADE)
client = models.ForeignKey(Client, on_delete=CASCADE)
@ -4146,6 +4140,12 @@ class UserPresence(models.Model):
# timestamp being old.
status = models.PositiveSmallIntegerField(default=ACTIVE)
class Meta:
unique_together = ("user_profile", "client")
index_together = [
("realm", "timestamp"),
]
@staticmethod
def status_to_string(status: int) -> str:
if status == UserPresence.ACTIVE:
@ -4345,16 +4345,16 @@ class ScheduledMessage(models.Model):
default=SEND_LATER,
)
def __str__(self) -> str:
display_recipient = get_display_recipient(self.recipient)
return f"{display_recipient} {self.subject} {self.sender!r} {self.scheduled_timestamp}"
def topic_name(self) -> str:
return self.subject
def set_topic_name(self, topic_name: str) -> None:
self.subject = topic_name
def __str__(self) -> str:
display_recipient = get_display_recipient(self.recipient)
return f"{display_recipient} {self.subject} {self.sender!r} {self.scheduled_timestamp}"
EMAIL_TYPES = {
"followup_day1": ScheduledEmail.WELCOME,
@ -4662,6 +4662,9 @@ class CustomProfileField(models.Model):
class Meta:
unique_together = ("realm", "name")
def __str__(self) -> str:
return f"{self.realm!r} {self.name} {self.field_type} {self.order}"
def as_dict(self) -> ProfileDataElementBase:
data_as_dict: ProfileDataElementBase = {
"id": self.id,
@ -4681,9 +4684,6 @@ class CustomProfileField(models.Model):
return True
return False
def __str__(self) -> str:
return f"{self.realm!r} {self.name} {self.field_type} {self.order}"
def custom_profile_fields_for_realm(realm_id: int) -> QuerySet[CustomProfileField]:
return CustomProfileField.objects.filter(realm=realm_id).order_by("order")