#!/usr/bin/python2.2 import sys from vh3 import virthost import ensimapplpath import be_vherrordisp import traceback import vh3.db.reseller as dbreseller import vh3.modules.reseller as mreseller import vh3.resellerutil as rutil import string virthost.checkMaintenance() wanted = None action = None def help(): print "%s: reseller_name [ --disable | --enable ]" % sys.argv[0] sys.exit(1) try: wanted = sys.argv[1] action = sys.argv[2] except: print "Missing reseller name or action!" help() false = 0 true = 1 enable = false if action == '--disable': enable = false elif action == '--enable': enable = true else: print "Unknown action %s" % action help() myuserid = -1 myreseller = None myreseller = mreseller.get_reseller(wanted) if myreseller == []: print "No such reseller: %s" % wanted help() myreseller = myreseller[0] myuserid = myreseller['reseller_id'] if enable == true: print "Enabling reseller %s" % myreseller['username'] sites = mreseller.get_reseller_sites(myuserid) status = be_vherrordisp.CLIError.SUCCESS for site in sites: domain = site['domain'] id = "site%i" % site['site_id'] virthost.lock_domain(id) try: errs = [] if enable == true: print "Enabling %s (%s)" % (domain, id) errs = virthost.enable_virtual_domain(id) else: print "Disabling %s (%s)" % (domain, id) errs = virthost.disable_virtual_domain(id) status = virthost.cli_display_status_list(errs) except: try: edisp = be_vherrordisp.CLIError() edisp.push_traceback(sys.exc_info()[0]) status = virthost.cli_display_status(edisp) except: traceback.print_exc() virthost.unlock_domain(domain) if enable == false: print "Disabling reseller %s" % myreseller['username'] sys.exit(status)