Commit 0fe25dc4 authored by Lukáš Krupčík's avatar Lukáš Krupčík

new structure and new script for modules

parent 6313dcba
APR|1.5.2-foss-2015g;1.5.2
APR-util|1.5.4;1.5.4-foss-2015g
ATLAS|3.10.1-GCC-4.9.3-2.25-LAPACK-3.4.2
Autoconf|2.69;2.69-GNU-4.9.3-2.25;2.69-intel-2015b
Automake|1.15-GNU-4.9.3-2.25;1.15-intel-2015b;1.15
Autotools|20150215-GNU-4.9.3-2.25;20150215-intel-2015b;20150215
Bash|4.3
binutils|2.25;2.26;2.25-GCC-5.1.0-binutils-2.25;2.25-GCCcore-4.9.3;2.26-GCCcore-5.3.0;2.25-GCC-4.9.3;2.25-GCC-4.9.3-binutils-2.25
Bison|3.0.4-GCC-4.9.3;3.0.4;3.0.2;2.7;3.0.4-intel-2015b;3.0.4-GCC-4.9.3-binutils-2.25;3.0.4-GCC-5.1.0-binutils-2.25;3.0.4-GCCcore-4.9.3;3.0.4-GCCcore-5.3.0
Boost|1.58.0-foss-2015g-Python-2.7.9;1.60.0-intel-2016a;1.59.0-intel-2015b
bullxde|2.0
bullxmpi|bullxmpi-1.2.4.3
byacc|20150711-intel-2015b;20120526
bzip2|1.0.6-intel-2016.01;1.0.6;1.0.6-intel-2016a;1.0.6-intel-2015b;1.0.6-foss-2015g
cairo|1.12.18
CMake|3.5.2-intel-2016a;3.3.1-GCC-4.9.3-2.25;3.4.1-intel-2015b;3.5.2
CUDA|7.5.18
cURL|7.37.1-foss-2015g;7.37.1
Doxygen|1.8.11
EasyBuild|2.6.0;2.8.1;2.7.0;2.8.0
expat|2.1.0-foss-2015g;2.1.0
ffmpeg|2.4
FFTW|3.3.4-gompi-2016.04;3.3.4-gompi-2015g
fixesproto|5.0
flex|2.5.39-GCC-5.1.0-binutils-2.25;2.6.0;2.5.39-GCC-4.9.3-binutils-2.25;2.5.39-GCC-4.9.3;2.6.0-GCCcore-5.3.0;2.5.39;2.5.39-GCCcore-4.9.3;2.5.39-intel-2015b
FLTK|1.3.2
fontconfig|2.11.1
fontsproto|2.1.3
Forge|6.0.6;5.7;6.0.5;5.1-43967
foss|2016.04;2015g
freetype|2.5.3
GCC|4.9.3-binutils-2.25;5.1.0-binutils-2.25;5.3.0-2.26;4.9.3;4.9.3-2.25;5.3.0-binutils-2.25
GCCcore|5.3.0;4.9.3
GDAL|2.1.0-foss-2015g;1.9.2-foss-2015g
gettext|0.19.2;0.19.2-foss-2015g
gimkl|2.11.5
gimpi|2.11.5
git|2.8.0-GNU-4.9.3-2.25
.git|HEAD;ORIG_HEAD;FETCH_HEAD;description;COMMIT_EDITMSG;config;index
GLib|2.40.0
GMP|6.1.0-intel-2015b;5.0.5;6.0.0a;6.0.0a-intel-2015b
GNU|4.9.3-2.25;5.1.0-2.25
gompi|2016.04;2015g
GROMACS|5.1.2-intel-2015b-hybrid-single-cuda;5.1.2-intel-2016a-hybrid;5.1.2-intel-2015b-hybrid-single-CUDA-7.5-PLUMED-2.2.1
GSL|2.1-intel-2015b;1.16-intel-2015b;1.16-intel-2016.01
guile|1.8.8;1.8.8-intel-2015b
gzip|1.6-foss-2015g;1.6
HDF5|1.8.16-intel-2016.01;1.8.16-intel-2015b
hwloc|1.11.0;1.11.3-GCC-5.3.0-2.26;1.11.0-GNU-4.9.3-2.25
icc|2015.3.187-GNU-5.1.0-2.25;2016.1.150-GCC-4.9.3-2.25
iccifort|2015.3.187-GNU-5.1.0-2.25;2016.1.150-GCC-4.9.3-2.25
ifort|2015.3.187-GNU-5.1.0-2.25;2016.1.150-GCC-4.9.3-2.25
iimpi|8.1.5-GCC-4.9.3-2.25;7.3.5-GNU-5.1.0-2.25;2016.01-GCC-4.9.3-2.25
imkl|11.2.3.187-gimpi-2.11.5;11.3.1.150-iimpi-2016.01-GCC-4.9.3-2.25;11.2.3.187-iimpi-7.3.5-GNU-5.1.0-2.25;11.3.1.150-iimpi-8.1.5-GCC-4.9.3-2.25
impi|5.1.2.150-iccifort-2016.1.150-GCC-4.9.3-2.25;5.0.3.048-iccifort-2015.3.187-GNU-5.1.0-2.25;5.0.3.048-GCC-4.9.3
inputproto|2.3
intel|2015b;2016.01;2016a
ISL|0.15
Java|1.8.0_51
JOE|4.2
kbproto|1.0.6
libdrm|2.4.27
libffi|3.0.13;3.1-intel-2015b;3.0.13-intel-2015b;3.1-intel-2016.01
libfontenc|1.1.3
libgdiplus|3.12
libICE|1.0.9
libjpeg-turbo|1.4.0
libmatheval|1.1.8;1.1.11-intel-2015b
libpciaccess|0.13.1
libpng|1.6.12
libpthread-stubs|0.3
libreadline|6.3-intel-2016.01;6.3-foss-2015g;6.3-gimkl-2.11.5;6.3-intel-2015b;6.3
libSM|1.2.2
LibTIFF|4.0.3
libtool|2.4.2;2.4.6-intel-2015b;2.4.6-GNU-5.1.0-2.25;2.4.6;2.4.6-GNU-4.9.3-2.25
libunistring|0.9.3;0.9.3-intel-2015b
libX11|1.6.2-Python-2.7.9
libXau|1.0.8
libxcb|1.11-Python-2.7.9
libXdmcp|1.1.2
libXext|1.3.3
libXfixes|5.0.1
libXfont|1.5.1-Python-2.7.9
libxml2|2.9.3-intel-2016a;2.9.2-intel-2015b
libXt|1.1.4-libX11-1.6.2
M4|1.4.17;1.4.17-GCCcore-5.3.0;1.4.17-GCC-4.9.3;1.4.17-GCC-4.9.3-binutils-2.25;1.4.17-GNU-4.9.3-2.25;1.4.17-GCCcore-4.9.3;1.4.17-GNU-5.1.0-2.25;1.4.17-intel-2015b;1.4.17-GCC-5.1.0-binutils-2.25
make|3.82
makedepend|1.0.4
MATLAB|2015b-EDU;2015b-COM
Mercurial|3.7.3-foss-2015g-Python-2.7.9
MLD2P4|2.0-rc4-GCC-4.9.3-2.25
#Modules
MPICH|3.2-GCC-4.9.3-2.25
NASM|2.11.05
ncurses|5.9-intel-2016.01;5.9-intel-2015b;5.9-gimkl-2.11.5;5.9-foss-2015g;5.9;5.9-GCC-4.9.3-2.25;6.0-intel-2016a;6.0;5.9-GNU-4.9.3-2.25
numactl|2.0.11-GCC-5.3.0-2.26;2.0.11;2.0.10-GNU-4.9.3-2.25;2.0.10
numpy|1.8.2-intel-2015b-Python-2.7.9;1.8.2-intel-2015b-Python-2.7.11;1.8.2-intel-2016.01-Python-2.7.9
Octave|3.8.2-gimkl-2.11.5;4.0.0-foss-2015g;4.0.1-gimkl-2.11.5
OPARI2|2.0
OpenBLAS|0.2.14-GNU-4.9.3-2.25-LAPACK-3.5.0;0.2.18-GCC-5.3.0-2.26-LAPACK-3.6.0
OpenMPI|1.10.2-GCC-5.3.0-2.26;1.8.8-GNU-4.9.3-2.25
oscar-modules|.version;1.0.3
OTF2|2.0
PAPI|5.4.3
PCRE|8.37;8.37-intel-2016.01;8.37-gimkl-2.11.5;8.37-foss-2015g
PerformanceReports|6.0.6
Perl|5.20.2-GNU-4.9.3-2.25-bare
pixman|0.32.6
pkg-config|0.27.1;0.27.1-intel-2015b
PLUMED|2.2.1-intel-2015b
prace|globus;prace
PSBLAS|3.3.4-3-GCC-4.9.3-2.25
PSBLAS-ext|1.0-4-GCC-4.9.3-2.25
Python|2.7.9-intel-2015b;2.7.9-foss-2015g;2.7.9-intel-2016.01;2.7.11-intel-2015b;2.7.9
Qt|4.8.6
renderproto|0.11
Ruby|2.3.1
ScaLAPACK|2.0.2-gompi-2015g-OpenBLAS-0.2.14-LAPACK-3.5.0;2.0.2-gompi-2016.04-OpenBLAS-0.2.18-LAPACK-3.6.0
ScientificPython|2.9.4-intel-2016.01-Python-2.7.9;2.9.4-intel-2015b-Python-2.7.9;2.9.4-intel-2015b-Python-2.7.11
SCons|2.3.6-foss-2015g-Python-2.7.9
Serf|1.3.8-foss-2015g
SIONlib|1.6.1-tools
spGPU|master-GCC-4.9.3-2.25
SQLite|3.8.8.1-intel-2015b;3.8.8.1-foss-2015g;3.8.8.1;3.9.2-intel-2015b;3.8.8.1-intel-2016.01
Subversion|1.8.16-foss-2015g
Szip|2.1-intel-2015b;2.1-intel-2016.01;2.1
Tcl|8.6.4;8.6.3-intel-2016.01;8.6.3-intel-2015b;8.6.4-intel-2015b;8.6.3;8.6.3-foss-2015g;8.5.12
tcsh|6.19.00
Tk|8.6.4-intel-2015b-no-X11;8.6.4-no-X11;8.5.12
tools|use.own
util-linux|2.26.1
Vampir|8.5.0
VTune|2016_update1
xbitmaps|1.1.1
xcb-proto|1.11-Python-2.7.9
xextproto|7.3.0
xineramaproto|1.2.1
xorg-macros|1.17
xproto|7.0.26
xtrans|1.3.5;1.3.4
zlib|1.2.8-intel-2015b;1.2.8-GCC-5.1.0-binutils-2.25;1.2.8-GCC-4.9.3-binutils-2.25;1.2.8-GCCcore-4.9.3;1.2.8-foss-2015g;1.2.8;1.2.8-intel-2016a;1.2.8-intel-2016.01;1.2.8-GCC-4.9.3;1.2.8-GCCcore-5.3.0
#!/usr/bin/env python
#
# Copyright (C) 2016 IT4Innovations
#
import os
def software_list(class_path):
"""List software from given module class"""
os.chdir(class_path)
software_list = next(os.walk('.'))[1]
# In case that there is 'all' module
if 'all' in software_list:
software_list.remove('all')
return software_list
def get_software_versions(software_path):
"""List available versions of software"""
os.chdir(software_path)
return next(os.walk('.'))[2]
if __name__ == "__main__":
BASE_MODULES_DIR = '/apps/modules/'
SKIP_DIRS = ['all']
HTML_SOURCE_DATA = {}
os.chdir(BASE_MODULES_DIR)
subdirs = next(os.walk('.'))[1]
# Delete unwanted directories
for dir in SKIP_DIRS:
subdirs.remove(dir)
# Create module class structure
for dir in sorted(subdirs):
class_path = os.path.join(BASE_MODULES_DIR, dir)
available_software = software_list(class_path)
HTML_SOURCE_DATA[dir] = {}
for soft in sorted(available_software, key=str.lower):
software_path = os.path.join(class_path, soft)
software_versions = get_software_versions(software_path)
# In case that there's not any available software version
if not software_versions:
continue
first_module_path = os.path.join(software_path, software_versions[0])
HTML_SOURCE_DATA[dir][soft] = {'versions': []}
for version in software_versions:
HTML_SOURCE_DATA[dir][soft]['versions'].append(version)
print "%s|%s" % (soft.lower(),';'.join(software_versions))
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment