Coverage for src/postorius/management/commands/mmclient.py : 0%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
# -*- coding: utf-8 -*- # Copyright (C) 1998-2019 by the Free Software Foundation, Inc. # # This file is part of Postorius. # # Postorius is free software: you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free # Software Foundation, either version 3 of the License, or (at your option) # any later version. # # Postorius is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # more details. # # You should have received a copy of the GNU General Public License along with # Postorius. If not, see <http://www.gnu.org/licenses/>.
from django.core.management.base import BaseCommand
from django_mailman3.lib.mailman import get_mailman_client
class Command(BaseCommand): help = """Opens a Python shell with a mailmanclient object named `client`.
Usage example: client.lists [<List "foo@example.org">] foo = client.get_list('foo@example.org') foo.members [<Member "les@primus.org">]
A complete list of commands can be found in the mailmanclient documentation."""
def handle(self, *args, **options): # choose an interpreter try: import IPython console_fn = IPython.embed except ImportError: import code shell = code.InteractiveConsole(globals()) console_fn = shell.interact # connect to mailmanclient client = get_mailman_client() # Putting client back in the global scope globals()['client'] = client # run the interpreter console_fn() |