File indexing completed on 2026-04-10 08:39:07
0001 import optparse
0002 import sys
0003
0004
0005 from pandaserver.config import panda_config
0006 from pandaserver.taskbuffer.OraDBProxy import DBProxy
0007
0008 option_parser = optparse.OptionParser(conflict_handler="resolve")
0009 option_parser.add_option("--user", action="store", dest="user", default=None, help="prodUserName")
0010 option_parser.add_option(
0011 "--unban",
0012 action="store_const",
0013 const=True,
0014 dest="unban",
0015 default=False,
0016 help="unban the user",
0017 )
0018
0019 options, args = option_parser.parse_args()
0020
0021 if options.user is None:
0022 print("--user=<prodUserName> is required")
0023 sys.exit(1)
0024
0025 proxyS = DBProxy()
0026 proxyS.connect(panda_config.dbhost, panda_config.dbpasswd, panda_config.dbuser, panda_config.dbname)
0027
0028 prodUserName = sys.argv[1]
0029
0030 varMap = {}
0031 varMap[":name"] = options.user
0032 if options.unban:
0033 varMap[":status"] = None
0034 else:
0035 varMap[":status"] = "disabled"
0036
0037 sql = "UPDATE ATLAS_PANDAMETA.users SET status=:status WHERE name=:name"
0038
0039 status, res = proxyS.querySQLS(sql, varMap)
0040 if res is None:
0041 print("Failed with database error")
0042 else:
0043 print(f"{res} rows updated")