zulip/zilencer/management/commands/add_remote_server.py

25 lines
1.1 KiB
Python

from argparse import ArgumentParser
from typing import Any
from zerver.lib.management import ZulipBaseCommand
from zilencer.models import RemoteZulipServer
class Command(ZulipBaseCommand):
help = """Add a remote Zulip server for push notifications."""
def add_arguments(self, parser: ArgumentParser) -> None:
group = parser.add_argument_group("command-specific arguments")
group.add_argument('uuid', help="the user's `zulip_org_id`")
group.add_argument('key', help="the user's `zulip_org_key`")
group.add_argument('--hostname', '-n', required=True,
help="the hostname, for human identification")
group.add_argument('--email', '-e', required=True,
help="a contact email address")
def handle(self, uuid: str, key: str, hostname: str, email: str,
**options: Any) -> None:
RemoteZulipServer.objects.create(uuid=uuid,
api_key=key,
hostname=hostname,
contact_email=email)