view MoinMoin/script/account/ @ 1753:2be00a5febbe

Fix and clean up scripts which are no longer working due to storage API change. This resolves issue #246.
author Cheer Xiao <>
date Mon, 27 Aug 2012 17:30:14 +0800
parents 614005b5edb3
children 54be46b8a0b4
line wrap: on
line source
# Copyright: 2006 MoinMoin:ThomasWaldmann
# Copyright: 2011 MoinMoin:ReimarBauer
# License: GNU GPL v2 (or any later version), see LICENSE.txt for details.

MoinMoin - disable a user account

from flask import current_app as app
from flask import g as flaskg
from flaskext.script import Command, Option

from MoinMoin import user
from import before_wiki

class Disable_User(Command):
    description = 'This command allows you to disable user accounts.'
    option_list = (
        Option('--name', '-n', required=False, dest='name', type=unicode,
               help='Disable the user with user name NAME.'),
        Option('--uid', '-u', required=False, dest='uid', type=unicode,
               help='Disable the user with user id UID.'),

    def run(self, name, uid):
        flags_given = name or uid
        if not flags_given:
            print 'incorrect number of arguments'
            import sys

        if uid:
            u = user.User(uid)
        elif name:
            u = user.User(auth_username=name)

        if not u.exists():
            print 'This user "{0!r}" does not exists!'.format(

        print " {0:<20} {1:!r<25} {2:<35}".format(u.itemid,,,
        if not u.disabled: # only disable once
            u.disabled = 1
   = u"{0}-{1}".format(,
       = u"{0}-{1}".format(,
            u.subscribed_items = [] # avoid using email
            print "- disabled."
            print "- is already disabled."