summaryrefslogtreecommitdiff
path: root/Mailman/bin/import.py
diff options
context:
space:
mode:
authorbwarsaw2007-05-29 15:03:15 +0000
committerbwarsaw2007-05-29 15:03:15 +0000
commit6423a8c37b8f8b05012f85af972eeadbd5855903 (patch)
tree669547e4a624d2c22b38c3942e98601817132379 /Mailman/bin/import.py
parentfcbbcc4d5f7fe58f74def2c8aee24de6dff0129e (diff)
downloadmailman-6423a8c37b8f8b05012f85af972eeadbd5855903.tar.gz
mailman-6423a8c37b8f8b05012f85af972eeadbd5855903.tar.zst
mailman-6423a8c37b8f8b05012f85af972eeadbd5855903.zip
Diffstat (limited to 'Mailman/bin/import.py')
-rw-r--r--Mailman/bin/import.py19
1 files changed, 13 insertions, 6 deletions
diff --git a/Mailman/bin/import.py b/Mailman/bin/import.py
index 023ae1aba..a9b56ad46 100644
--- a/Mailman/bin/import.py
+++ b/Mailman/bin/import.py
@@ -30,12 +30,15 @@ from Mailman import Errors
from Mailman import MemberAdaptor
from Mailman import Utils
from Mailman import Version
+from Mailman import passwords
from Mailman.MailList import MailList
from Mailman.i18n import _
from Mailman.initialize import initialize
__i18n_templates__ = True
+OPTS = None
+
def nodetext(node):
@@ -123,7 +126,7 @@ def parse_roster(node):
if not mid:
print _('Skipping member with no id')
continue
- if VERBOSE:
+ if OPTS.verbose:
print _('* Processing member: $mid')
for subnode in nodegen(child):
attr = subnode.tagName
@@ -138,6 +141,10 @@ def parse_roster(node):
value = []
for subsubnode in nodegen(subnode):
value.append(nodetext(subsubnode))
+ elif attr == 'password':
+ value = nodetext(subnode)
+ if OPTS.reset_passwords or value == '{NONE}' or not value:
+ value = passwords.make_secret(Utils.MakeRandomPassword())
else:
value = nodetext(subnode)
member[attr] = value
@@ -168,7 +175,7 @@ def load(fp):
for listnode in nodegen(top, 'list'):
listdata = dict()
name = listnode.getAttribute('name')
- if VERBOSE:
+ if OPTS.verbose:
print _('Processing list: $name')
if not name:
print _('Ignoring malformed <list> node')
@@ -192,7 +199,7 @@ def create(all_listdata):
continue
mlist = MailList()
try:
- if VERBOSE:
+ if OPTS.verbose:
print _('Creating mailing list: $fqdn_listname')
mlist.Create(fqdn_listname, list_config['owner'][0],
list_config['password'])
@@ -229,7 +236,7 @@ def create(all_listdata):
setattr(mlist, option, value)
for member in list_roster:
mid = member['id']
- if VERBOSE:
+ if OPTS.verbose:
print _('* Adding member: $mid')
status, delivery = member['delivery']
kws = {'password' : member['password'],
@@ -290,11 +297,11 @@ XML, they will always be randomly generated."""))
def main():
- global VERBOSE
+ global OPTS
parser, opts, args = parseargs()
initialize(opts.config)
- VERBOSE = opts.verbose
+ OPTS = opts
if opts.inputfile in (None, '-'):
fp = sys.stdin