##// END OF EJS Templates
Add BASE_URL in settings to work with proxys
Add BASE_URL in settings to work with proxys

File last commit:

r0:b84e1135c2c4
r18:5a8055e18e7b
Show More
registrationAdmin.py
82 lines | 2.3 KiB | text/x-python | PythonLexer
#!PYTHONEXE
"""registrationAdmin.py is an script for Madrigal administrators to register
or unregister users from receiving emails for experiments or instruments.
$Id: registrationAdmin.py 7046 2019-10-07 19:57:14Z brideout $
"""
usage = """registrationAdmin.py [--unregister | --register]
[--inst=<kinst> | --exp=<expDir>] userEmail
Either unregister or register must be set.
Either --inst=<instrument code> or --exp=<expDir> must be set.
expDir is in form <experiments/2010/mlh/18jan10>
"""
import os, os.path, sys
import getopt
import madrigal.ui.userData
# parse command line
unregister = None
register = None
inst = None
expDir = None
try:
opts, args = getopt.getopt(sys.argv[1:], "", ["unregister", "register",
"inst=", "exp="])
except getopt.GetoptError as err:
print(str(err)) # will print something like "option -a not recognized"
print(usage)
sys.exit(2)
for o, a in opts:
if o == "--unregister":
unregister = True
if register != None:
raise ValueError("cannot set both register and unregister")
elif o == "--register":
register = True
if unregister != None:
raise ValueError("cannot set both register and unregister")
elif o == "--inst":
inst = int(a)
if expDir != None:
raise ValueError("cannot set both inst and exp")
elif o == "--exp":
expDir = a
if inst != None:
raise ValueError("cannot set both inst and exp")
else:
assert False, "unhandled option"
if len(args) != 1:
print(usage)
print('userEmail argument required')
sys.exit(-1)
email = args[0]
if email.find('@') == -1:
print(usage)
print(('userEmail argument <%s> seems invalid' % (email)))
sys.exit(-1)
if register == None and unregister == None:
raise ValueError("must set either register or unregister")
if inst == None and expDir == None:
raise ValueError("must set either inst or exp")
madUserObj = madrigal.ui.userData.MadrigalUserData()
if register:
if inst:
madUserObj.registerInstrument(email, inst)
elif expDir:
madUserObj.registerExperiment(email, expDir)
elif unregister:
if inst:
madUserObj.unregisterInstrument(email, inst)
elif expDir:
madUserObj.unregisterExperiment(email, expDir)