##// END OF EJS Templates
Add restart to nginx container
Add restart to nginx container

File last commit:

r0:b84e1135c2c4
r22:1c8c96a4f254 master
Show More
checkConfig.py
160 lines | 5.1 KiB | text/x-python | PythonLexer
"""checkConfig.py verifies madrigal.cfg has been edited where needed
Also verifies siteTab.txt has this siteid
$Id: checkConfig.py 7337 2021-03-26 14:10:17Z brideout $
"""
# standard python imports
import os, sys, os.path
import shutil
# first step is to copy metadata files over that do not already exist
# siteTab.txt
if not os.access("metadata/siteTab.txt", os.R_OK):
shutil.copy("metadata/siteTab.txt.original", "metadata/siteTab.txt")
print("Copied siteTab.txt.original to siteTab.txt")
else:
print("siteTab.txt already exists - new version ignored. May be updated by updatedMaster later.")
# instTab.txt
if not os.access("metadata/instTab.txt", os.R_OK):
shutil.copy("metadata/instTab.txt.original", "metadata/instTab.txt")
print("Copied instTab.txt.original to instTab.txt")
else:
print("instTab.txt already exists - new version ignored. May be updated by updatedMaster later.")
# instType.txt
if not os.access("metadata/instType.txt", os.R_OK):
shutil.copy("metadata/instType.txt.original", "metadata/instType.txt")
print("Copied instType.txt.original to instType.txt")
else:
print("instType.txt already exists - new version ignored. May be updated by updatedMaster later.")
# typeTab.txt
if not os.access("metadata/typeTab.txt", os.R_OK):
shutil.copy("metadata/typeTab.txt.original", "metadata/typeTab.txt")
print("Copied typeTab.txt.original to typeTab.txt")
else:
print("typeTab.txt already exists - new version ignored. May be updated by updatedMaster later.")
# lines im madrigal.cfg required to be verified
MADROOT_test = False
MADSERVER_test = False
MADSERVERROOT_test = False
SITEID_test = False
HTMLSTYLE_test = False
INDEXHEAD_test = False
CONTACT_test = False
pwd = os.getcwd()
f = open('madrigal.cfg')
lines = f.readlines()
f.close()
for line in lines:
# MADROOT check
if line[0:9] == "MADROOT =":
MADROOT = line[9:].strip()
MADROOT_test = True
if MADROOT != pwd:
print("MADROOT in madrigal.cfg is $MADROOT, but PWD is %s" % (pwd))
print("Fix madrigal.cfg before trying installation again")
sys.exit(-1)
# MADSERVER check
elif line[0:11] == "MADSERVER =":
MADSERVER = line[11:].strip()
MADSERVER_test = True
if MADSERVER.find('invalid') != -1:
print("madrigal.cfg MADSERVER entry must be edited - cannot be %s" % (MADSERVER))
print("Fix madrigal.cfg before trying installation again")
sys.exit(-1)
# MADSERVERROOT check
elif line[0:15] == "MADSERVERROOT =":
MADSERVERROOT = line[15:].strip()
MADSERVERROOT_test = True
# SITEID check
elif line[0:8] == "SITEID =":
SITEID = line[8:].strip()
SITEID_test = True
if SITEID.find('99999') != -1:
print("madrigal.cfg SITEID entry must be edited - cannot be 99999")
print("Fix madrigal.cfg before trying installation again")
sys.exit(-1)
# HTMLSTYLE check
elif line[0:11] == "HTMLSTYLE =":
HTMLSTYLE = line[11:].strip()
HTMLSTYLE_test = True
# INDEXHEAD check
elif line[0:11] == "INDEXHEAD =":
INDEXHEAD = line[11:].strip()
INDEXHEAD_test = True
if INDEXHEAD.find('CHANGEME') != -1:
print("madrigal.cfg INDEXHEAD entry must be edited - cannot include CHANGEME")
print("Fix madrigal.cfg before trying installation again")
sys.exit(-1)
# CONTACT check
elif line[0:9] == "CONTACT =":
CONTACT = line[9:].strip()
CONTACT_test = True
if CONTACT.find('CHANGEME') != -1:
print("madrigal.cfg CONTACT entry must be edited - cannot include CHANGEME")
print("Fix madrigal.cfg before trying installation again")
sys.exit(-1)
# check that all lines were verified
if not MADROOT_test:
print("madrigal.cfg does not contain required variable MADROOT")
sys.exit(-1)
elif not MADSERVER_test:
print("madrigal.cfg does not contain required variable MADSERVER")
sys.exit(-1)
elif not MADSERVERROOT_test:
print("madrigal.cfg does not contain required variable MADSERVERROOT")
sys.exit(-1)
elif not SITEID_test:
print("madrigal.cfg does not contain required variable SITEID")
sys.exit(-1)
elif not HTMLSTYLE_test:
print("madrigal.cfg does not contain required variable HTMLSTYLE")
sys.exit(-1)
elif not INDEXHEAD_test:
print("madrigal.cfg does not contain required variable INDEXHEAD")
sys.exit(-1)
elif not CONTACT_test:
print("madrigal.cfg does not contain required variable CONTACT")
sys.exit(-1)
# now verify that metadata/siteTab.txt has matching entry
SITEID_OKAY = False
f = open('metadata/siteTab.txt')
lines = f.readlines()
f.close()
for line in lines:
items = line.split(',')
if len(items) < 3:
continue
if items[0] == SITEID:
SITEID_OKAY = True
break
if not SITEID_OKAY:
print("siteTab.txt does not contain an entry for site id %s" % (SITEID))
print("Edit metadata/siteTab.txt before trying installation again")
sys.exit(-1)