Add PEP-484 type annotations to zerver/models.py.

Done pair-programming with Guido.
This commit is contained in:
Tim Abbott
2016-01-25 12:12:34 -08:00
parent b99313545e
commit d8f7d89fb4

View File

@@ -1,4 +1,5 @@
from __future__ import absolute_import
from typing import *
from django.db import models
from django.conf import settings
@@ -29,7 +30,7 @@ import re
import ujson
import logging
bugdown = None
bugdown = None # type: Any
MAX_SUBJECT_LENGTH = 60
MAX_MESSAGE_LENGTH = 10000
@@ -142,9 +143,10 @@ class Realm(models.Model):
except IndexError:
return None
@deployment.setter
@deployment.setter # type: ignore # https://github.com/python/mypy/issues/220
def set_deployments(self, value):
self._deployments = [value]
# type: (Any) -> None
self._deployments = [value] # type: Any
def get_admin_users(self):
# This method is kind of expensive, due to our complex permissions model.
@@ -269,7 +271,8 @@ def realm_filters_for_domain_remote_cache(domain):
return filters
def all_realm_filters():
filters = defaultdict(list)
# type: () -> Dict[str, List[Tuple[str, str]]]
filters = defaultdict(list) # type: Dict[str, List[Tuple[str, str]]]
for realm_filter in RealmFilter.objects.all():
filters[realm_filter.realm.domain].append((realm_filter.pattern, realm_filter.url_format_string))
@@ -384,7 +387,7 @@ class UserProfile(AbstractBaseUser, PermissionsMixin):
# [["social", "mit"], ["devel", "ios"]]
muted_topics = models.TextField(default=ujson.dumps([]))
objects = UserManager()
objects = UserManager() # type: UserManager
def can_admin_user(self, target_user):
"""Returns whether this user has permission to modify target_user"""
@@ -719,8 +722,8 @@ class Message(models.Model):
self.mentions_wildcard = False
self.is_me_message = False
self.mentions_user_ids = set()
self.user_ids_with_alert_words = set()
self.mentions_user_ids = set() # type: Set[int]
self.user_ids_with_alert_words = set() # type: Set[int]
if not domain:
domain = self.sender.realm.domain
@@ -1170,6 +1173,7 @@ def get_realm(domain):
def clear_database():
pylibmc.Client(['127.0.0.1']).flush_all()
model = None # type: Any
for model in [Message, Stream, UserProfile, Recipient,
Realm, Subscription, Huddle, UserMessage, Client,
DefaultStream]:
@@ -1212,7 +1216,8 @@ class UserPresence(models.Model):
@staticmethod
def get_status_dict_by_realm(realm_id):
user_statuses = defaultdict(dict)
# type: (Any) -> Any
user_statuses = defaultdict(dict) # type: Dict[Any, Dict[Any, Any]]
query = UserPresence.objects.filter(
user_profile__realm_id=realm_id,