checkSiteIs3.py
46 lines
| 1.5 KiB
| text/x-python
|
PythonLexer
r0 | """checkSiteIs3.py simply checks that the Madrigal administrator has set the siteTab.txt file to indicate this site | ||
is at least Madrigal 3. | |||
Also verifies that soft links exist between $MADROOT/experiments[0-9]* and | |||
$MADROOT/source/madpy/djangoMad/madweb/static | |||
Exits with error if not set to at least 3.0 | |||
$Id: checkSiteIs3.py 7045 2019-10-07 19:56:46Z brideout $ | |||
""" | |||
# standard python imports | |||
import os, os.path, sys | |||
import distutils.version | |||
import subprocess | |||
# Madrigal imports | |||
import madrigal.metadata | |||
madDB = madrigal.metadata.MadrigalDB() | |||
siteId = madDB.getSiteID() | |||
madSiteObj = madrigal.metadata.MadrigalSite(madDB) | |||
version = madSiteObj.getSiteVersion(siteId) | |||
if distutils.version.LooseVersion(version) < distutils.version.LooseVersion('3.0'): | |||
print(('INSTALLATION FAILED: siteTab.txt needs to be updated so that this site (%i) is set to at least 3.0' % (siteId))) | |||
sys.exit(-1) | |||
print('checking if any soft links to experiments directory(s) needed...') | |||
expDirs = madDB.getExperimentDirs() | |||
madroot = madDB.getMadroot() | |||
needed = False | |||
for expDir in expDirs: | |||
basename = os.path.basename(expDir) | |||
targetDir = os.path.join(madroot, 'source/madpy/djangoMad/madweb/static', basename) | |||
if not os.access(targetDir, os.R_OK): | |||
# create it | |||
cmd = 'ln -s %s %s' % (os.path.join(madroot, basename), targetDir) | |||
subprocess.check_call(cmd.split()) | |||
print(('created soft link from %s to %s' % (os.path.join(madroot, basename), targetDir))) | |||
needed = True | |||
if not needed: | |||
print('No soft links needed') | |||