Changeset View
Standalone View
pykolab/cli/cmd_list_domain_mailboxes.py
Show All 15 Lines | |||||
# You should have received a copy of the GNU General Public License | # You should have received a copy of the GNU General Public License | ||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||||
# | # | ||||
import commands | import commands | ||||
import pykolab | import pykolab | ||||
from pykolab import utils | |||||
from pykolab import imap_utf7 | from pykolab import imap_utf7 | ||||
from pykolab.auth import Auth | from pykolab.auth import Auth | ||||
from pykolab.imap import IMAP | from pykolab.imap import IMAP | ||||
from pykolab.translate import _ | from pykolab.translate import _ | ||||
log = pykolab.getLogger('pykolab.cli') | log = pykolab.getLogger('pykolab.cli') | ||||
conf = pykolab.getConf() | conf = pykolab.getConf() | ||||
def __init__(): | def __init__(): | ||||
commands.register('list_domain_mailboxes', execute) | commands.register('list_domain_mailboxes', execute) | ||||
def cli_options(): | def cli_options(): | ||||
my_option_group = conf.add_cli_parser_option_group(_("CLI Options")) | my_option_group = conf.add_cli_parser_option_group(_("CLI Options")) | ||||
my_option_group.add_option( '--raw', | my_option_group.add_option( '--raw', | ||||
dest = "raw", | dest = "raw", | ||||
Lint: PEP8 E221: multiple spaces before operator | |||||
Lint: PEP8 E251 unexpected spaces around keyword / parameter equals Lint: PEP8 E251: unexpected spaces around keyword / parameter equals | |||||
Lint: PEP8 E251 unexpected spaces around keyword / parameter equals Lint: PEP8 E251: unexpected spaces around keyword / parameter equals | |||||
action = "store_true", | action = "store_true", | ||||
Lint: PEP8 E221 multiple spaces before operator Lint: PEP8 E221: multiple spaces before operator | |||||
Lint: PEP8 E251 unexpected spaces around keyword / parameter equals Lint: PEP8 E251: unexpected spaces around keyword / parameter equals | |||||
Lint: PEP8 E251 unexpected spaces around keyword / parameter equals Lint: PEP8 E251: unexpected spaces around keyword / parameter equals | |||||
default = False, | default = False, | ||||
Lint: PEP8 E251 unexpected spaces around keyword / parameter equals Lint: PEP8 E251: unexpected spaces around keyword / parameter equals | |||||
Lint: PEP8 E251 unexpected spaces around keyword / parameter equals Lint: PEP8 E251: unexpected spaces around keyword / parameter equals | |||||
help = _("Display raw IMAP UTF-7 folder names")) | help = _("Display raw IMAP UTF-7 folder names")) | ||||
Lint: PEP8 E221 multiple spaces before operator Lint: PEP8 E221: multiple spaces before operator | |||||
Lint: PEP8 E251 unexpected spaces around keyword / parameter equals Lint: PEP8 E251: unexpected spaces around keyword / parameter equals | |||||
Lint: PEP8 E251 unexpected spaces around keyword / parameter equals Lint: PEP8 E251: unexpected spaces around keyword / parameter equals | |||||
my_option_group.add_option( '--server', | my_option_group.add_option( '--server', | ||||
dest = "connect_server", | dest = "connect_server", | ||||
Lint: PEP8 E221 multiple spaces before operator Lint: PEP8 E221: multiple spaces before operator | |||||
Lint: PEP8 E251 unexpected spaces around keyword / parameter equals Lint: PEP8 E251: unexpected spaces around keyword / parameter equals | |||||
Lint: PEP8 E251 unexpected spaces around keyword / parameter equals Lint: PEP8 E251: unexpected spaces around keyword / parameter equals | |||||
action = "store", | action = "store", | ||||
Lint: PEP8 E221 multiple spaces before operator Lint: PEP8 E221: multiple spaces before operator | |||||
Lint: PEP8 E251 unexpected spaces around keyword / parameter equals Lint: PEP8 E251: unexpected spaces around keyword / parameter equals | |||||
Lint: PEP8 E251 unexpected spaces around keyword / parameter equals Lint: PEP8 E251: unexpected spaces around keyword / parameter equals | |||||
default = None, | default = None, | ||||
Lint: PEP8 E251 unexpected spaces around keyword / parameter equals Lint: PEP8 E251: unexpected spaces around keyword / parameter equals | |||||
Lint: PEP8 E251 unexpected spaces around keyword / parameter equals Lint: PEP8 E251: unexpected spaces around keyword / parameter equals | |||||
metavar = "SERVER", | metavar = "SERVER", | ||||
Lint: PEP8 E251 unexpected spaces around keyword / parameter equals Lint: PEP8 E251: unexpected spaces around keyword / parameter equals | |||||
Lint: PEP8 E251 unexpected spaces around keyword / parameter equals Lint: PEP8 E251: unexpected spaces around keyword / parameter equals | |||||
help = _("List mailboxes on server SERVER only.")) | help = _("List mailboxes on server SERVER only.")) | ||||
Lint: PEP8 E221 multiple spaces before operator Lint: PEP8 E221: multiple spaces before operator | |||||
Lint: PEP8 E251 unexpected spaces around keyword / parameter equals Lint: PEP8 E251: unexpected spaces around keyword / parameter equals | |||||
Lint: PEP8 E251 unexpected spaces around keyword / parameter equals Lint: PEP8 E251: unexpected spaces around keyword / parameter equals | |||||
def execute(*args, **kw): | def execute(*args, **kw): | ||||
""" | """ | ||||
List deleted mailboxes | List deleted mailboxes | ||||
""" | """ | ||||
try: | try: | ||||
domain = conf.cli_args.pop(0) | domain = conf.cli_args.pop(0) | ||||
except: | except: | ||||
domain = utils.ask_question(_("Domain")) | domain = utils.ask_question(_("Domain")) | ||||
imap = IMAP() | imap = IMAP() | ||||
imap.connect() | imap.connect() | ||||
auth = Auth() | auth = Auth() | ||||
auth.connect() | auth.connect() | ||||
domains = auth.list_domains() | domains = auth.list_domains() | ||||
folders = [] | folders = [] | ||||
for primary,secondaries in domains: | for primary,secondaries in domains: | ||||
Lint: PEP8 E231 missing whitespace after ',' Lint: PEP8 E231: missing whitespace after ',' | |||||
if not domain == primary and not domain in secondaries: | if not domain == primary and not domain in secondaries: | ||||
Lint: PEP8 E713 test for membership should be 'not in' Lint: PEP8 E713: test for membership should be 'not in' | |||||
continue | continue | ||||
folders.extend(imap.lm("user/%%@%s" % (primary))) | folders.extend(imap.lm("user/%%@%s" % (primary))) | ||||
for secondary in secondaries: | for secondary in secondaries: | ||||
folders.extend(imap.lm("user/%%@%s" % (secondary))) | folders.extend(imap.lm("user/%%@%s" % (secondary))) | ||||
print "Deleted folders:" | print "Deleted folders:" | ||||
for folder in folders: | for folder in folders: | ||||
if not conf.raw: | if not conf.raw: | ||||
print imap_utf7.decode(folder) | print imap_utf7.decode(folder) | ||||
else: | else: | ||||
print folder | print folder |
multiple spaces before operator