python: Sort imports in management commands.

This commit is contained in:
Tim Abbott
2017-11-15 15:43:27 -08:00
parent 73a668e7ae
commit f04d6ed19e
55 changed files with 226 additions and 258 deletions

View File

@@ -1,15 +1,15 @@
from django.conf import settings
from django.core.management.base import BaseCommand
from django.utils.timezone import now as timezone_now
from zerver.models import UserProfile
import argparse
from datetime import datetime
from typing import Any
import requests
import ujson
from django.conf import settings
from django.core.management.base import BaseCommand
from django.utils.timezone import now as timezone_now
from typing import Any
from zerver.models import UserProfile
class Command(BaseCommand):
help = """Add users to a MailChimp mailing list."""

View File

@@ -3,7 +3,7 @@ from typing import Any
from django.core.management.base import CommandParser
from zerver.lib.actions import create_stream_if_needed, bulk_add_subscriptions
from zerver.lib.actions import bulk_add_subscriptions, create_stream_if_needed
from zerver.lib.management import ZulipBaseCommand
class Command(ZulipBaseCommand):

View File

@@ -1,7 +1,7 @@
from typing import Any
from argparse import ArgumentParser
from typing import Any
from django.core.management.base import CommandError
from zerver.lib.actions import do_mark_all_as_read

View File

@@ -1,7 +1,7 @@
from typing import Any
from argparse import ArgumentParser
from typing import Any
from django.core.management.base import CommandError
from zerver.lib.actions import do_change_full_name

View File

@@ -1,15 +1,14 @@
from typing import Any, Callable, Optional
from zerver.models import get_user_profile_by_id
from zerver.lib.rate_limiter import client, max_api_calls, max_api_window, \
RateLimitedUser
from django.core.management.base import BaseCommand, CommandParser
from django.conf import settings
import logging
import time
from typing import Any, Callable, Optional
from django.conf import settings
from django.core.management.base import BaseCommand, CommandParser
from zerver.lib.rate_limiter import RateLimitedUser, \
client, max_api_calls, max_api_window
from zerver.models import get_user_profile_by_id
class Command(BaseCommand):
help = """Checks redis to make sure our rate limiting system hasn't grown a bug

View File

@@ -1,9 +1,9 @@
import sys
from typing import Any
from django.core.management.base import BaseCommand
from django.conf import settings
import sys
from django.core.management.base import BaseCommand
class Command(BaseCommand):
help = """Checks your Zulip Voyager Django configuration for issues."""

View File

@@ -1,18 +1,16 @@
import os
import re
import ujson
from subprocess import check_output, CalledProcessError
from subprocess import CalledProcessError, check_output
from typing import Any, Dict, List, Text
from django.core.management.commands import compilemessages
import polib
import ujson
from django.conf import settings
from django.conf.locale import LANG_INFO
from django.core.management.commands import compilemessages
from django.utils.translation.trans_real import to_language
import polib
from zerver.lib.i18n import with_language
class Command(compilemessages.Command):

View File

@@ -1,7 +1,6 @@
from typing import Any
from argparse import ArgumentParser
from typing import Any
from zerver.lib.management import ZulipBaseCommand
from zerver.models import Service, UserProfile

View File

@@ -1,11 +1,10 @@
from typing import Any
from argparse import ArgumentParser
from zerver.lib.management import ZulipBaseCommand
from zerver.lib.actions import create_stream_if_needed
from zerver.models import DefaultStreamGroup
from typing import Any
from zerver.lib.actions import create_stream_if_needed
from zerver.lib.management import ZulipBaseCommand
from zerver.models import DefaultStreamGroup
class Command(ZulipBaseCommand):
help = """

View File

@@ -1,12 +1,11 @@
import sys
from argparse import ArgumentParser
from typing import Any
from zerver.lib.actions import create_stream_if_needed
from zerver.lib.str_utils import force_text
from zerver.lib.management import ZulipBaseCommand
from argparse import ArgumentParser
import sys
from zerver.lib.str_utils import force_text
class Command(ZulipBaseCommand):
help = """Create a stream, and subscribe all active users (excluding bots).

View File

@@ -1,19 +1,17 @@
import argparse
import sys
from typing import Any
import sys
import argparse
from django.core.management.base import CommandError
from django.core.exceptions import ValidationError
from django.db.utils import IntegrityError
from django.core import validators
from django.core.exceptions import ValidationError
from django.core.management.base import CommandError
from django.db.utils import IntegrityError
from zerver.models import email_to_username
from zerver.lib.actions import do_create_user
from zerver.lib.actions import notify_new_user
from zerver.lib.actions import do_create_user, notify_new_user
from zerver.lib.initial_password import initial_password
from zerver.lib.management import ZulipBaseCommand
from zerver.models import email_to_username
class Command(ZulipBaseCommand):
help = """Create the specified user with a default initial password.

View File

@@ -1,7 +1,6 @@
from typing import Any
from argparse import ArgumentParser
from typing import Any
from zerver.lib.actions import do_deactivate_realm
from zerver.lib.management import ZulipBaseCommand

View File

@@ -1,11 +1,10 @@
from typing import Any
from argparse import ArgumentParser
from typing import Any
from zerver.lib.actions import do_deactivate_user
from zerver.lib.sessions import user_sessions
from zerver.lib.management import ZulipBaseCommand
from zerver.lib.sessions import user_sessions
from zerver.models import UserProfile
class Command(ZulipBaseCommand):

View File

@@ -1,7 +1,7 @@
from typing import Any
from argparse import ArgumentParser
from typing import Any
from django.core.management.base import BaseCommand
from zerver.lib.actions import do_delete_old_unclaimed_attachments

View File

@@ -10,18 +10,18 @@ on all but one machine to make the command have no effect.)
"""
import time
from typing import Any
from django.conf import settings
from django.core.management.base import BaseCommand
from django.utils.timezone import now as timezone_now
from zerver.models import ScheduledEmail
from zerver.lib.context_managers import lockfile
from zerver.lib.send_email import send_email, EmailNotDeliveredException
import time
from zerver.lib.logging_util import create_logger
from ujson import loads
from typing import Any
from zerver.lib.context_managers import lockfile
from zerver.lib.logging_util import create_logger
from zerver.lib.send_email import EmailNotDeliveredException, send_email
from zerver.models import ScheduledEmail
## Setup ##
logger = create_logger(__name__, settings.EMAIL_DELIVERER_LOG_PATH, 'DEBUG')

View File

@@ -1,13 +1,13 @@
import datetime
import time
from typing import Any
from django.core.management.base import CommandParser
from django.utils.timezone import utc as timezone_utc
from zerver.models import Message, Stream, Recipient
from zerver.lib.management import ZulipBaseCommand
import datetime
import time
from zerver.lib.management import ZulipBaseCommand
from zerver.models import Message, Recipient, Stream
class Command(ZulipBaseCommand):
help = "Dump messages from public streams of a realm"

View File

@@ -22,19 +22,17 @@ recipient address and retrieve, forward, and archive the message.
"""
from typing import Any, List, Generator
import email
import logging
from email.message import Message
from imaplib import IMAP4_SSL
from typing import Any, Generator, List
from django.conf import settings
from django.core.management.base import BaseCommand
from zerver.lib.email_mirror import logger, process_message
import email
from email.message import Message
from imaplib import IMAP4_SSL
## Setup ##
log_format = "%(asctime)s: %(message)s"

View File

@@ -1,12 +1,11 @@
import datetime
from typing import Any, List
from django.conf import settings
from django.core.management.base import BaseCommand
from django.utils.timezone import now as timezone_now
from zerver.lib.digest import enqueue_emails, DIGEST_CUTOFF
from zerver.lib.digest import DIGEST_CUTOFF, enqueue_emails
from zerver.lib.logging_util import create_logger
## Logging setup ##

View File

@@ -1,13 +1,12 @@
from typing import Any, IO
from argparse import ArgumentParser
from django.core.management.base import BaseCommand
from zerver.lib.queue import queue_json_publish
import sys
import ujson
from argparse import ArgumentParser
from typing import IO, Any
import ujson
from django.core.management.base import BaseCommand
from zerver.lib.queue import queue_json_publish
def error(*args: Any) -> None:
raise Exception('We cannot enqueue because settings.USING_RABBITMQ is False.')

View File

@@ -1,17 +1,15 @@
from typing import Any
from argparse import ArgumentParser, RawTextHelpFormatter
from django.core.management.base import CommandError
import os
import shutil
import subprocess
import tempfile
from argparse import ArgumentParser, RawTextHelpFormatter
from typing import Any
from zerver.lib.export import (
do_export_realm, do_write_stats_file_for_realm_export
)
from django.core.management.base import CommandError
from zerver.lib.export import do_export_realm, \
do_write_stats_file_for_realm_export
from zerver.lib.management import ZulipBaseCommand
class Command(ZulipBaseCommand):

View File

@@ -1,12 +1,10 @@
from typing import Any
from argparse import ArgumentParser
import os
import shutil
import subprocess
import tempfile
from argparse import ArgumentParser
from typing import Any
from zerver.lib.export import do_export_user
from zerver.lib.management import ZulipBaseCommand

View File

@@ -1,13 +1,12 @@
from typing import Any
from argparse import ArgumentParser
from django.core.management.base import BaseCommand
import glob
import logging
import os
import shutil
from argparse import ArgumentParser
from typing import Any
from django.core.management.base import BaseCommand
from zerver.lib.export import export_usermessages_batch

View File

@@ -1,9 +1,10 @@
from typing import Any
from argparse import ArgumentParser
from typing import Any
from django.core.management.base import BaseCommand
from zerver.lib.cache_helpers import fill_remote_cache, cache_fillers
from zerver.lib.cache_helpers import cache_fillers, fill_remote_cache
class Command(BaseCommand):
def add_arguments(self, parser: ArgumentParser) -> None:

View File

@@ -1,20 +1,15 @@
import logging
import sys
from argparse import ArgumentParser
from typing import Any, List, Optional, Text
from argparse import ArgumentParser
from django.core.management.base import CommandError
from django.db import connection
from zerver.lib.management import ZulipBaseCommand
from zerver.lib.fix_unreads import fix
from zerver.models import (
Realm,
UserProfile
)
from zerver.lib.management import ZulipBaseCommand
from zerver.models import Realm, UserProfile
logging.getLogger('zulip.fix_unreads').setLevel(logging.INFO)

View File

@@ -1,8 +1,9 @@
from typing import Any
from argparse import ArgumentParser
from typing import Any
from django.core.management.base import CommandError
from confirmation.models import Confirmation, create_confirmation_link
from zerver.lib.management import ZulipBaseCommand
from zerver.models import PreregistrationUser, email_allowed_for_realm

View File

@@ -1,10 +1,10 @@
from typing import Any
from argparse import ArgumentParser
from typing import Any
from confirmation.models import Confirmation, create_confirmation_link
from zerver.lib.management import ZulipBaseCommand
from zerver.lib.actions import create_stream_if_needed
from zerver.lib.management import ZulipBaseCommand
from zerver.models import MultiuseInvite
class Command(ZulipBaseCommand):

View File

@@ -1,11 +1,13 @@
import sys
from argparse import ArgumentParser, RawTextHelpFormatter
from typing import Any
from django.core.management.base import BaseCommand
from django.db import ProgrammingError
from confirmation.models import generate_realm_creation_url
from zerver.models import Realm
import sys
class Command(BaseCommand):
help = """

View File

@@ -2,11 +2,12 @@
import argparse
import os
from typing import Any
from django.db import DEFAULT_DB_ALIAS
from django.core.management.base import BaseCommand
from zerver.lib.test_fixtures import get_migration_status
from django.core.management.base import BaseCommand
from django.db import DEFAULT_DB_ALIAS
from scripts.lib.zulip_tools import get_dev_uuid_var_path
from zerver.lib.test_fixtures import get_migration_status
class Command(BaseCommand):
help = "Get status of migrations."

View File

@@ -1,17 +1,18 @@
from django.core.management import call_command
from django.core.management.base import BaseCommand, CommandParser
from django.conf import settings
from zerver.models import Realm, Stream, UserProfile, Recipient, Subscription, \
Message, UserMessage, Huddle, DefaultStream, RealmDomain, RealmFilter, Client
from zerver.lib.export import do_import_realm
import argparse
import os
import subprocess
from typing import Any
from django.conf import settings
from django.core.management import call_command
from django.core.management.base import BaseCommand, CommandParser
from zerver.lib.export import do_import_realm
from zerver.models import Client, DefaultStream, Huddle, \
Message, Realm, RealmDomain, RealmFilter, Recipient, \
Stream, Subscription, UserMessage, UserProfile
Model = Any # TODO: make this mypy type more specific
class Command(BaseCommand):

View File

@@ -1,15 +1,14 @@
from typing import Any, Iterable, Tuple, Text
from django.core.management.base import BaseCommand
from django.contrib.sites.models import Site
from zerver.models import UserProfile, Realm, get_client, email_to_username
from django.conf import settings
from zerver.lib.bulk_create import bulk_create_users
from zerver.models import get_system_bot
from argparse import ArgumentParser
from typing import Any, Iterable, Text, Tuple
from django.conf import settings
from django.contrib.sites.models import Site
from django.core.management.base import BaseCommand
from zerver.lib.bulk_create import bulk_create_users
from zerver.models import Realm, UserProfile, \
email_to_username, get_client, get_system_bot
settings.TORNADO_SERVER = None

View File

@@ -1,7 +1,7 @@
from typing import Any
from argparse import ArgumentParser
from typing import Any
from django.core.management.base import CommandError
from zerver.lib.actions import do_change_is_admin

View File

@@ -1,11 +1,10 @@
import sys
from typing import Any
from argparse import ArgumentParser
from typing import Any
from zerver.models import Realm
from zerver.lib.management import ZulipBaseCommand
from zerver.models import Realm
class Command(ZulipBaseCommand):
help = """List realms in the server and it's configuration settings(optional).

View File

@@ -1,10 +1,10 @@
from typing import Any
from argparse import ArgumentParser
from typing import Any
from zerver.lib.management import ZulipBaseCommand
from zerver.lib.sessions import delete_all_user_sessions, \
delete_realm_user_sessions, delete_all_deactivated_user_sessions
from zerver.lib.sessions import delete_all_deactivated_user_sessions, \
delete_all_user_sessions, delete_realm_user_sessions
class Command(ZulipBaseCommand):
help = "Log out all users."

View File

@@ -29,17 +29,16 @@ http://stackoverflow.com/questions/2090717
"""
from typing import Any, Dict, Iterable, Mapping, Text, List
from argparse import ArgumentParser
import os
import re
import glob
import json
import os
import re
from argparse import ArgumentParser
from typing import Any, Dict, Iterable, List, Mapping, Text
from django.core.management.commands import makemessages
from django.template.base import BLOCK_TAG_START, BLOCK_TAG_END
from django.conf import settings
from django.core.management.commands import makemessages
from django.template.base import BLOCK_TAG_END, BLOCK_TAG_START
from django.utils.translation import template
from zerver.lib.str_utils import force_text

View File

@@ -1,13 +1,13 @@
from typing import Any, List
from zerver.lib.actions import bulk_remove_subscriptions, bulk_add_subscriptions, \
do_deactivate_stream
from zerver.lib.cache import cache_delete_many, to_dict_cache_key_id
from zerver.lib.management import ZulipBaseCommand
from zerver.models import get_stream, Subscription, get_stream_recipient, Message
from argparse import ArgumentParser
from typing import Any, List
from zerver.lib.actions import bulk_add_subscriptions, \
bulk_remove_subscriptions, do_deactivate_stream
from zerver.lib.cache import cache_delete_many, to_dict_cache_key_id
from zerver.lib.management import ZulipBaseCommand
from zerver.models import Message, Subscription, \
get_stream, get_stream_recipient
def bulk_delete_cache_keys(message_ids_to_clear: List[int]) -> None:
while len(message_ids_to_clear) > 0:

View File

@@ -4,14 +4,14 @@ Shows backlog count of ScheduledEmail
"""
from datetime import timedelta
from typing import Any
from django.core.management.base import BaseCommand
from django.utils.timezone import now as timezone_now
from zerver.models import ScheduledEmail
from datetime import timedelta
class Command(BaseCommand):
help = """Shows backlog count of ScheduledEmail
(The number of currently overdue (by at least a minute) email jobs)

View File

@@ -1,16 +1,17 @@
import logging
import signal
import sys
import threading
from argparse import ArgumentParser
from types import FrameType
from typing import Any, List
from argparse import ArgumentParser
from django.core.management.base import BaseCommand
from django.conf import settings
from django.core.management.base import BaseCommand
from django.utils import autoreload
from zerver.worker.queue_processors import get_worker, get_active_worker_queues
import sys
import signal
import logging
import threading
from zerver.worker.queue_processors import get_active_worker_queues, get_worker
class Command(BaseCommand):
def add_arguments(self, parser: ArgumentParser) -> None:

View File

@@ -1,9 +1,10 @@
from typing import Any
from argparse import ArgumentParser
from django.core.management.base import BaseCommand
from typing import Any
from django.core.management import CommandError
from django.core.management.base import BaseCommand
from zerver.lib.queue import SimpleQueueClient
from zerver.worker.queue_processors import get_active_worker_queues

View File

@@ -1,15 +1,12 @@
from typing import Any
from argparse import ArgumentParser
from typing import Any
from django.conf import settings
from django.contrib.auth import get_backends
from django.core.management.base import BaseCommand
from django.conf import settings
from django_auth_ldap.backend import LDAPBackend, _LDAPUser
# Quick tool to test whether you're correctly authenticating to LDAP
def query_ldap(**options: str) -> None:
email = options['email']

View File

@@ -1,10 +1,11 @@
from typing import Any
from argparse import ArgumentParser
from zerver.models import UserProfile, get_user_profile_by_api_key
from zerver.lib.rate_limiter import block_access, unblock_access, RateLimitedUser
from typing import Any
from zerver.lib.management import ZulipBaseCommand
from zerver.lib.rate_limiter import RateLimitedUser, \
block_access, unblock_access
from zerver.models import UserProfile, get_user_profile_by_api_key
class Command(ZulipBaseCommand):
help = """Manually block or unblock a user from accessing the API"""

View File

@@ -1,7 +1,6 @@
from typing import Any
from argparse import ArgumentParser
from typing import Any
from zerver.lib.actions import do_reactivate_realm
from zerver.lib.management import ZulipBaseCommand

View File

@@ -1,13 +1,14 @@
import sys
from argparse import ArgumentParser
from typing import Any
from argparse import ArgumentParser
from django.core.exceptions import ValidationError
from django.db.utils import IntegrityError
from zerver.models import RealmDomain, get_realm_domains
from zerver.lib.management import ZulipBaseCommand
from zerver.lib.domains import validate_domain
import sys
from zerver.lib.management import ZulipBaseCommand
from zerver.models import RealmDomain, get_realm_domains
class Command(ZulipBaseCommand):
help = """Manage domains for the specified realm"""

View File

@@ -1,12 +1,12 @@
from argparse import RawTextHelpFormatter
import sys
from argparse import ArgumentParser, RawTextHelpFormatter
from typing import Any
from argparse import ArgumentParser
from django.core.management.base import CommandParser
from zerver.lib.actions import check_add_realm_emoji, do_remove_realm_emoji
from zerver.lib.management import ZulipBaseCommand
import sys
class Command(ZulipBaseCommand):
help = """Manage emoji for the specified realm

View File

@@ -1,12 +1,11 @@
import sys
from argparse import ArgumentParser
from typing import Any
from argparse import ArgumentParser
from zerver.models import all_realm_filters
from zerver.lib.actions import do_add_realm_filter, do_remove_realm_filter
from zerver.lib.management import ZulipBaseCommand
import sys
from zerver.models import all_realm_filters
class Command(ZulipBaseCommand):
help = """Create a link filter rule for the specified realm.

View File

@@ -1,14 +1,12 @@
from typing import Any
from argparse import ArgumentParser
from zerver.lib.actions import do_rename_stream
from zerver.lib.str_utils import force_text
from zerver.lib.management import ZulipBaseCommand
from zerver.models import get_stream
import sys
from argparse import ArgumentParser
from typing import Any
from zerver.lib.actions import do_rename_stream
from zerver.lib.management import ZulipBaseCommand
from zerver.lib.str_utils import force_text
from zerver.models import get_stream
class Command(ZulipBaseCommand):
help = """Change the stream name for a realm."""

View File

@@ -1,28 +1,29 @@
import logging
import sys
from typing import Any, Callable
from django.conf import settings
settings.RUNNING_INSIDE_TORNADO = True
# We must call zerver.tornado.ioloop_logging.instrument_tornado_ioloop
# before we import anything else from our project in order for our
# Tornado load logging to work; otherwise we might accidentally import
# zerver.lib.queue (which will instantiate the Tornado ioloop) before
# this.
from zerver.tornado.ioloop_logging import instrument_tornado_ioloop
instrument_tornado_ioloop()
from django.core.management.base import BaseCommand, CommandError, CommandParser
from django.core.management.base import BaseCommand, \
CommandError, CommandParser
from tornado import ioloop
from tornado.log import app_log
from typing import Callable, Any
from zerver.lib.debug import interactive_debug_listen
from zerver.tornado.application import create_tornado_application, \
setup_tornado_rabbitmq
from zerver.tornado.event_queue import add_client_gc_hook, \
missedmessage_hook, process_notification, setup_event_queue
# We must call zerver.tornado.ioloop_logging.instrument_tornado_ioloop
# before we import anything else from our project in order for our
# Tornado load logging to work; otherwise we might accidentally import
# zerver.lib.queue (which will instantiate the Tornado ioloop) before
# this.
from zerver.tornado.ioloop_logging import instrument_tornado_ioloop
from zerver.tornado.socket import respond_send_message
import logging
import sys
settings.RUNNING_INSIDE_TORNADO = True
instrument_tornado_ioloop()
if settings.USING_RABBITMQ:
from zerver.lib.queue import get_queue_client

View File

@@ -1,16 +1,16 @@
import logging
from argparse import ArgumentParser
from typing import Any, Dict, List, Optional, Text
from argparse import ArgumentParser
from zerver.models import UserProfile
from django.utils.http import urlsafe_base64_encode
from django.contrib.auth.tokens import PasswordResetTokenGenerator, \
default_token_generator
from django.utils.encoding import force_bytes
from django.utils.http import urlsafe_base64_encode
from django.contrib.auth.tokens import default_token_generator, PasswordResetTokenGenerator
from zerver.lib.send_email import send_email, FromAddress
from zerver.lib.management import ZulipBaseCommand, CommandError
from zerver.lib.management import CommandError, ZulipBaseCommand
from zerver.lib.send_email import FromAddress, send_email
from zerver.models import UserProfile
class Command(ZulipBaseCommand):
help = """Send email to specified email address."""

View File

@@ -1,9 +1,9 @@
from typing import Any
from argparse import ArgumentParser
from django.core.management.base import BaseCommand
from typing import Any
from django.conf import settings
from django.core.management.base import BaseCommand
class Command(BaseCommand):
help = """Send some stats to statsd."""

View File

@@ -1,10 +1,10 @@
import os
import ujson
from django.test import Client
import ujson
from django.conf import settings
from django.core.management.base import CommandParser
from django.test import Client
from zerver.lib.management import ZulipBaseCommand
from zerver.models import get_realm

View File

@@ -1,12 +1,11 @@
import sys
from argparse import ArgumentParser, RawTextHelpFormatter
from typing import Any, Dict, Text
from zerver.lib.actions import set_default_streams
from zerver.lib.management import ZulipBaseCommand
import sys
class Command(ZulipBaseCommand):
help = """Set default streams for a realm

View File

@@ -1,16 +1,14 @@
from typing import Any, Iterable
import logging
import sys
from typing import Any, Iterable
from django.core.management.base import CommandParser
from django.db import models
from zerver.lib import utils
from zerver.lib.management import ZulipBaseCommand
from zerver.models import UserMessage
from django.db import models
class Command(ZulipBaseCommand):
help = """Sets user message flags. Used internally by actions.py. Marks all

View File

@@ -1,10 +1,11 @@
import sys
from argparse import ArgumentParser
from typing import Any
from argparse import ArgumentParser
from django.core.management.base import BaseCommand
from zerver.models import get_realm, Realm
import sys
from zerver.models import Realm, get_realm
class Command(BaseCommand):
help = """Show the admins in a realm."""

View File

@@ -1,17 +1,12 @@
from typing import Any, Dict, List, Set
from argparse import ArgumentParser
from typing import Any, Dict, List, Set
from django.core.management.base import CommandError
from zerver.lib.management import ZulipBaseCommand
from zerver.lib.topic_mutes import build_topic_mute_checker
from zerver.models import (
Recipient,
Subscription,
UserMessage,
UserProfile
)
from zerver.models import Recipient, Subscription, UserMessage, UserProfile
def get_unread_messages(user_profile: UserProfile) -> List[Dict[str, Any]]:
user_msgs = UserMessage.objects.filter(

View File

@@ -1,16 +1,14 @@
import sys
from argparse import ArgumentParser
from typing import Any, Dict, List
from django.conf import settings
from typing import Any, List, Dict
from argparse import ArgumentParser
import sys
from zerver.models import UserProfile, Realm
from zerver.lib.soft_deactivation import (
do_soft_deactivate_users, do_soft_activate_users,
get_users_for_soft_deactivation, logger
)
from zerver.lib.management import ZulipBaseCommand
from zerver.lib.soft_deactivation import do_soft_activate_users, \
do_soft_deactivate_users, get_users_for_soft_deactivation, logger
from zerver.models import Realm, UserProfile
class Command(ZulipBaseCommand):
help = """Soft activate/deactivate users. Users are recognised by there emails here."""

View File

@@ -1,13 +1,13 @@
from typing import Any
from django.conf import settings
from django.core.management.base import BaseCommand
from django.db.utils import IntegrityError
from django.conf import settings
from zproject.backends import ZulipLDAPUserPopulator
from zerver.models import UserProfile
from zerver.lib.logging_util import create_logger
from zerver.models import UserProfile
from zproject.backends import ZulipLDAPUserPopulator
## Setup ##
logger = create_logger(__name__, settings.LDAP_SYNC_LOG_PATH, 'INFO')