Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dorie
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
31
Issues
31
List
Boards
Labels
Service Desk
Milestones
Merge Requests
9
Merge Requests
9
Operations
Operations
Incidents
Environments
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
dorie
dorie
Commits
38d5508c
Commit
38d5508c
authored
Oct 20, 2016
by
Dion Haefner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
merge
parent
bbecedbd
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
188 additions
and
548 deletions
+188
-548
cmake/modules/DorieMacros.cmake
cmake/modules/DorieMacros.cmake
+3
-2
cmake/modules/FindHDF5.cmake
cmake/modules/FindHDF5.cmake
+0
-379
cmake/modules/InstallPythonPackage.cmake
cmake/modules/InstallPythonPackage.cmake
+0
-126
python/CMakeLists.txt
python/CMakeLists.txt
+1
-1
python/parscraper/dorie/parscraper/match_parameters.py
python/parscraper/dorie/parscraper/match_parameters.py
+2
-0
python/parscraper/dorie/parscraper/readers/xml.py
python/parscraper/dorie/parscraper/readers/xml.py
+2
-0
python/parscraper/dorie/parscraper/wrapper/__init__.py
python/parscraper/dorie/parscraper/wrapper/__init__.py
+0
-0
python/parscraper/dorie/parscraper/writers/html.py
python/parscraper/dorie/parscraper/writers/html.py
+14
-11
python/parscraper/dorie/parscraper/writers/rst.py
python/parscraper/dorie/parscraper/writers/rst.py
+25
-29
python/parscraper/requirements.txt
python/parscraper/requirements.txt
+0
-0
testing/correlation.mini
testing/correlation.mini
+23
-0
testing/muphi.mini
testing/muphi.mini
+56
-0
testing/ode.mini
testing/ode.mini
+30
-0
testing/reference.mini
testing/reference.mini
+32
-0
No files found.
cmake/modules/DorieMacros.cmake
View file @
38d5508c
...
@@ -5,10 +5,11 @@ FIND_PACKAGE (HDF5 REQUIRED)
...
@@ -5,10 +5,11 @@ FIND_PACKAGE (HDF5 REQUIRED)
FIND_PACKAGE
(
FFTW REQUIRED
)
FIND_PACKAGE
(
FFTW REQUIRED
)
FIND_PACKAGE
(
SuperLU REQUIRED
)
FIND_PACKAGE
(
SuperLU REQUIRED
)
FIND_PACKAGE
(
MPI REQUIRED
)
FIND_PACKAGE
(
MPI REQUIRED
)
FIND_PACKAGE
(
METIS REQUIRED
)
FIND_PACKAGE
(
ParMETIS REQUIRED
)
FIND_PACKAGE
(
UG REQUIRED
)
FIND_PACKAGE
(
UG REQUIRED
)
FIND_PACKAGE
(
METIS
)
FIND_PACKAGE
(
ParMETIS
)
include_directories
(
${
FFTW_INCLUDES
}
)
include_directories
(
${
FFTW_INCLUDES
}
)
include_directories
(
${
HDF5_INCLUDE_DIRS
}
)
include_directories
(
${
HDF5_INCLUDE_DIRS
}
)
...
...
cmake/modules/FindHDF5.cmake
deleted
100644 → 0
View file @
bbecedbd
#.rst:
# FindHDF5
# --------
#
# Find HDF5, a library for reading and writing self describing array data.
#
#
#
# This module invokes the HDF5 wrapper compiler that should be installed
# alongside HDF5. Depending upon the HDF5 Configuration, the wrapper
# compiler is called either h5cc or h5pcc. If this succeeds, the module
# will then call the compiler with the -show argument to see what flags
# are used when compiling an HDF5 client application.
#
# The module will optionally accept the COMPONENTS argument. If no
# COMPONENTS are specified, then the find module will default to finding
# only the HDF5 C library. If one or more COMPONENTS are specified, the
# module will attempt to find the language bindings for the specified
# components. The only valid components are C, CXX, Fortran, HL, and
# Fortran_HL. If the COMPONENTS argument is not given, the module will
# attempt to find only the C bindings.
#
# On UNIX systems, this module will read the variable
# HDF5_USE_STATIC_LIBRARIES to determine whether or not to prefer a
# static link to a dynamic link for HDF5 and all of it's dependencies.
# To use this feature, make sure that the HDF5_USE_STATIC_LIBRARIES
# variable is set before the call to find_package.
#
# To provide the module with a hint about where to find your HDF5
# installation, you can set the environment variable HDF5_ROOT. The
# Find module will then look in this path when searching for HDF5
# executables, paths, and libraries.
#
# In addition to finding the includes and libraries required to compile
# an HDF5 client application, this module also makes an effort to find
# tools that come with the HDF5 distribution that may be useful for
# regression testing.
#
# This module will define the following variables:
#
# ::
#
# HDF5_INCLUDE_DIRS - Location of the hdf5 includes
# HDF5_INCLUDE_DIR - Location of the hdf5 includes (deprecated)
# HDF5_DEFINITIONS - Required compiler definitions for HDF5
# HDF5_C_LIBRARIES - Required libraries for the HDF5 C bindings.
# HDF5_CXX_LIBRARIES - Required libraries for the HDF5 C++ bindings
# HDF5_Fortran_LIBRARIES - Required libraries for the HDF5 Fortran bindings
# HDF5_HL_LIBRARIES - Required libraries for the HDF5 high level API
# HDF5_Fortran_HL_LIBRARIES - Required libraries for the high level Fortran
# bindings.
# HDF5_LIBRARIES - Required libraries for all requested bindings
# HDF5_FOUND - true if HDF5 was found on the system
# HDF5_VERSION - HDF5 version in format Major.Minor.Release
# HDF5_LIBRARY_DIRS - the full set of library directories
# HDF5_IS_PARALLEL - Whether or not HDF5 was found with parallel IO support
# HDF5_C_COMPILER_EXECUTABLE - the path to the HDF5 C wrapper compiler
# HDF5_CXX_COMPILER_EXECUTABLE - the path to the HDF5 C++ wrapper compiler
# HDF5_Fortran_COMPILER_EXECUTABLE - the path to the HDF5 Fortran wrapper compiler
# HDF5_DIFF_EXECUTABLE - the path to the HDF5 dataset comparison tool
#=============================================================================
# Copyright 2015 Axel Huebl, Helmholtz-Zentrum Dresden - Rossendorf
# Copyright 2009 Kitware, Inc.
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
# This module is maintained by Will Dicharry <wdicharry@stellarscience.com>.
include
(
${
CMAKE_ROOT
}
/Modules/SelectLibraryConfigurations.cmake
)
include
(
${
CMAKE_ROOT
}
/Modules/FindPackageHandleStandardArgs.cmake
)
# List of the valid HDF5 components
set
(
HDF5_VALID_COMPONENTS
C
CXX
Fortran
HL
Fortran_HL
)
# Validate the list of find components.
if
(
NOT HDF5_FIND_COMPONENTS
)
set
(
HDF5_LANGUAGE_BINDINGS
"C"
)
else
()
# add the extra specified components, ensuring that they are valid.
foreach
(
component
${
HDF5_FIND_COMPONENTS
}
)
list
(
FIND HDF5_VALID_COMPONENTS
${
component
}
component_location
)
if
(
${
component_location
}
EQUAL -1
)
message
(
FATAL_ERROR
"
\"
${
component
}
\"
is not a valid HDF5 component."
)
else
()
list
(
APPEND HDF5_LANGUAGE_BINDINGS
${
component
}
)
endif
()
endforeach
()
endif
()
# try to find the HDF5 wrapper compilers
find_program
(
HDF5_C_COMPILER_EXECUTABLE
NAMES hp5cc
#h5cc
HINTS ENV HDF5_ROOT
PATH_SUFFIXES bin Bin
DOC
"HDF5 Wrapper compiler. Used only to detect HDF5 compile flags."
)
mark_as_advanced
(
HDF5_C_COMPILER_EXECUTABLE
)
find_program
(
HDF5_CXX_COMPILER_EXECUTABLE
NAMES h5c++ h5pc++
HINTS ENV HDF5_ROOT
PATH_SUFFIXES bin Bin
DOC
"HDF5 C++ Wrapper compiler. Used only to detect HDF5 compile flags."
)
mark_as_advanced
(
HDF5_CXX_COMPILER_EXECUTABLE
)
find_program
(
HDF5_Fortran_COMPILER_EXECUTABLE
NAMES h5fc h5pfc
HINTS ENV HDF5_ROOT
PATH_SUFFIXES bin Bin
DOC
"HDF5 Fortran Wrapper compiler. Used only to detect HDF5 compile flags."
)
mark_as_advanced
(
HDF5_Fortran_COMPILER_EXECUTABLE
)
find_program
(
HDF5_DIFF_EXECUTABLE
NAMES h5diff
HINTS ENV HDF5_ROOT
PATH_SUFFIXES bin Bin
DOC
"HDF5 file differencing tool."
)
mark_as_advanced
(
HDF5_DIFF_EXECUTABLE
)
# Invoke the HDF5 wrapper compiler. The compiler return value is stored to the
# return_value argument, the text output is stored to the output variable.
macro
(
_HDF5_invoke_compiler language output return_value
)
if
(
HDF5_
${
language
}
_COMPILER_EXECUTABLE
)
exec_program
(
${
HDF5_
${
language
}
_COMPILER_EXECUTABLE
}
ARGS -show
OUTPUT_VARIABLE
${
output
}
RETURN_VALUE
${
return_value
}
)
if
(
${${
return_value
}}
EQUAL 0
)
# do nothing
else
()
message
(
STATUS
"Unable to determine HDF5
${
language
}
flags from HDF5 wrapper."
)
endif
()
endif
()
endmacro
()
# Parse a compile line for definitions, includes, library paths, and libraries.
macro
(
_HDF5_parse_compile_line
compile_line_var
include_paths
definitions
library_paths
libraries
)
# Match the include paths
string
(
REGEX MATCHALL
"-I([^
\"
]+)"
include_path_flags
"
${${
compile_line_var
}}
"
)
foreach
(
IPATH
${
include_path_flags
}
)
string
(
REGEX REPLACE
"^-I"
""
IPATH
${
IPATH
}
)
string
(
REPLACE
"//"
"/"
IPATH
${
IPATH
}
)
list
(
APPEND
${
include_paths
}
${
IPATH
}
)
endforeach
()
# Match the definitions
string
(
REGEX MATCHALL
"-D[^ ]*"
definition_flags
"
${${
compile_line_var
}}
"
)
foreach
(
DEF
${
definition_flags
}
)
list
(
APPEND
${
definitions
}
${
DEF
}
)
endforeach
()
# Match the library paths
string
(
REGEX MATCHALL
"-L([^
\"
]+|
\"
[^
\"
]+
\"
)"
library_path_flags
"
${${
compile_line_var
}}
"
)
foreach
(
LPATH
${
library_path_flags
}
)
string
(
REGEX REPLACE
"^-L"
""
LPATH
${
LPATH
}
)
string
(
REPLACE
"//"
"/"
LPATH
${
LPATH
}
)
list
(
APPEND
${
library_paths
}
${
LPATH
}
)
endforeach
()
# now search for the library names specified in the compile line (match -l...)
# match only -l's preceded by a space or comma
# this is to exclude directory names like xxx-linux/
string
(
REGEX MATCHALL
"[, ]-l([^
\"
, ]+)"
library_name_flags
"
${${
compile_line_var
}}
"
)
# strip the -l from all of the library flags and add to the search list
foreach
(
LIB
${
library_name_flags
}
)
string
(
REGEX REPLACE
"^[, ]-l"
""
LIB
${
LIB
}
)
list
(
APPEND
${
libraries
}
${
LIB
}
)
endforeach
()
endmacro
()
# Try to find HDF5 using an installed hdf5-config.cmake
if
(
NOT HDF5_FOUND
)
find_package
(
HDF5 QUIET NO_MODULE
)
if
(
HDF5_FOUND
)
set
(
HDF5_INCLUDE_DIRS
${
HDF5_INCLUDE_DIR
}
)
set
(
HDF5_LIBRARIES
)
set
(
HDF5_C_TARGET hdf5
)
set
(
HDF5_CXX_TARGET hdf5_cpp
)
set
(
HDF5_HL_TARGET hdf5_hl
)
set
(
HDF5_Fortran_TARGET hdf5_fortran
)
set
(
HDF5_Fortran_HL_TARGET hdf5_hl_fortran
)
foreach
(
_component
${
HDF5_LANGUAGE_BINDINGS
}
)
list
(
FIND HDF5_VALID_COMPONENTS
${
_component
}
_component_location
)
get_target_property
(
_comp_location
${
HDF5_
${
_component
}
_TARGET
}
LOCATION
)
if
(
_comp_location
)
set
(
HDF5_
${
_component
}
_LIBRARY
${
_comp_location
}
CACHE PATH
"HDF5
${
_component
}
library"
)
mark_as_advanced
(
HDF5_
${
_component
}
_LIBRARY
)
list
(
APPEND HDF5_LIBRARIES
${
HDF5_
${
_component
}
_LIBRARY
}
)
endif
()
endforeach
()
endif
()
endif
()
if
(
NOT HDF5_FOUND
)
_HDF5_invoke_compiler
(
C HDF5_C_COMPILE_LINE HDF5_C_RETURN_VALUE
)
_HDF5_invoke_compiler
(
CXX HDF5_CXX_COMPILE_LINE HDF5_CXX_RETURN_VALUE
)
_HDF5_invoke_compiler
(
Fortran HDF5_Fortran_COMPILE_LINE HDF5_Fortran_RETURN_VALUE
)
# seed the initial lists of libraries to find with items we know we need
set
(
HDF5_C_LIBRARY_NAMES_INIT hdf5
)
set
(
HDF5_HL_LIBRARY_NAMES_INIT hdf5_hl
${
HDF5_C_LIBRARY_NAMES_INIT
}
)
set
(
HDF5_CXX_LIBRARY_NAMES_INIT hdf5_cpp
${
HDF5_C_LIBRARY_NAMES_INIT
}
)
set
(
HDF5_Fortran_LIBRARY_NAMES_INIT hdf5_fortran
${
HDF5_C_LIBRARY_NAMES_INIT
}
)
set
(
HDF5_Fortran_HL_LIBRARY_NAMES_INIT hdf5hl_fortran
${
HDF5_Fortran_LIBRARY_NAMES_INIT
}
)
foreach
(
LANGUAGE
${
HDF5_LANGUAGE_BINDINGS
}
)
if
(
HDF5_
${
LANGUAGE
}
_COMPILE_LINE
)
_HDF5_parse_compile_line
(
HDF5_
${
LANGUAGE
}
_COMPILE_LINE
HDF5_
${
LANGUAGE
}
_INCLUDE_FLAGS
HDF5_
${
LANGUAGE
}
_DEFINITIONS
HDF5_
${
LANGUAGE
}
_LIBRARY_DIRS
HDF5_
${
LANGUAGE
}
_LIBRARY_NAMES
)
# take a guess that the includes may be in the 'include' sibling
# directory of a library directory.
foreach
(
dir
${
HDF5_
${
LANGUAGE
}
_LIBRARY_DIRS
}
)
list
(
APPEND HDF5_
${
LANGUAGE
}
_INCLUDE_FLAGS
${
dir
}
/../include
)
endforeach
()
endif
()
# set the definitions for the language bindings.
list
(
APPEND HDF5_DEFINITIONS
${
HDF5_
${
LANGUAGE
}
_DEFINITIONS
}
)
# find the HDF5 include directories
if
(
${
LANGUAGE
}
MATCHES
"Fortran"
)
set
(
HDF5_INCLUDE_FILENAME hdf5.mod
)
else
()
set
(
HDF5_INCLUDE_FILENAME hdf5.h
)
endif
()
find_path
(
HDF5_
${
LANGUAGE
}
_INCLUDE_DIR
${
HDF5_INCLUDE_FILENAME
}
HINTS
${
HDF5_
${
LANGUAGE
}
_INCLUDE_FLAGS
}
ENV
HDF5_ROOT
PATHS
$ENV{HOME}/.local/include
PATH_SUFFIXES
include
Include
)
mark_as_advanced
(
HDF5_
${
LANGUAGE
}
_INCLUDE_DIR
)
list
(
APPEND HDF5_INCLUDE_DIRS
${
HDF5_
${
LANGUAGE
}
_INCLUDE_DIR
}
)
set
(
HDF5_
${
LANGUAGE
}
_LIBRARY_NAMES
${
HDF5_
${
LANGUAGE
}
_LIBRARY_NAMES_INIT
}
${
HDF5_
${
LANGUAGE
}
_LIBRARY_NAMES
}
)
# find the HDF5 libraries
foreach
(
LIB
${
HDF5_
${
LANGUAGE
}
_LIBRARY_NAMES
}
)
if
(
UNIX AND HDF5_USE_STATIC_LIBRARIES
)
# According to bug 1643 on the CMake bug tracker, this is the
# preferred method for searching for a static library.
# See http://www.cmake.org/Bug/view.php?id=1643. We search
# first for the full static library name, but fall back to a
# generic search on the name if the static search fails.
set
(
THIS_LIBRARY_SEARCH_DEBUG lib
${
LIB
}
d.a
${
LIB
}
d
)
set
(
THIS_LIBRARY_SEARCH_RELEASE lib
${
LIB
}
.a
${
LIB
}
)
else
()
set
(
THIS_LIBRARY_SEARCH_DEBUG
${
LIB
}
d
)
set
(
THIS_LIBRARY_SEARCH_RELEASE
${
LIB
}
)
endif
()
find_library
(
HDF5_
${
LIB
}
_LIBRARY_DEBUG
NAMES
${
THIS_LIBRARY_SEARCH_DEBUG
}
HINTS
${
HDF5_
${
LANGUAGE
}
_LIBRARY_DIRS
}
ENV HDF5_ROOT
PATH_SUFFIXES lib Lib
)
find_library
(
HDF5_
${
LIB
}
_LIBRARY_RELEASE
NAMES
${
THIS_LIBRARY_SEARCH_RELEASE
}
HINTS
${
HDF5_
${
LANGUAGE
}
_LIBRARY_DIRS
}
ENV HDF5_ROOT
PATH_SUFFIXES lib Lib
)
select_library_configurations
(
HDF5_
${
LIB
}
)
list
(
APPEND HDF5_
${
LANGUAGE
}
_LIBRARIES
${
HDF5_
${
LIB
}
_LIBRARY
}
)
endforeach
()
list
(
APPEND HDF5_LIBRARY_DIRS
${
HDF5_
${
LANGUAGE
}
_LIBRARY_DIRS
}
)
# Append the libraries for this language binding to the list of all
# required libraries.
list
(
APPEND HDF5_LIBRARIES
${
HDF5_
${
LANGUAGE
}
_LIBRARIES
}
)
endforeach
()
# We may have picked up some duplicates in various lists during the above
# process for the language bindings (both the C and C++ bindings depend on
# libz for example). Remove the duplicates. It appears that the default
# CMake behavior is to remove duplicates from the end of a list. However,
# for link lines, this is incorrect since unresolved symbols are searched
# for down the link line. Therefore, we reverse the list, remove the
# duplicates, and then reverse it again to get the duplicates removed from
# the beginning.
macro
(
_remove_duplicates_from_beginning _list_name
)
list
(
REVERSE
${
_list_name
}
)
list
(
REMOVE_DUPLICATES
${
_list_name
}
)
list
(
REVERSE
${
_list_name
}
)
endmacro
()
if
(
HDF5_INCLUDE_DIRS
)
_remove_duplicates_from_beginning
(
HDF5_INCLUDE_DIRS
)
endif
()
if
(
HDF5_LIBRARY_DIRS
)
_remove_duplicates_from_beginning
(
HDF5_LIBRARY_DIRS
)
endif
()
# If the HDF5 include directory was found, open H5pubconf.h to determine if
# HDF5 was compiled with parallel IO support
set
(
HDF5_IS_PARALLEL FALSE
)
set
(
HDF5_VERSION
""
)
foreach
(
_dir IN LISTS HDF5_INCLUDE_DIRS
)
foreach
(
_hdr
"
${
_dir
}
/H5pubconf.h"
"
${
_dir
}
/H5pubconf-64.h"
"
${
_dir
}
/H5pubconf-32.h"
)
if
(
EXISTS
"
${
_hdr
}
"
)
file
(
STRINGS
"
${
_hdr
}
"
HDF5_HAVE_PARALLEL_DEFINE
REGEX
"HAVE_PARALLEL 1"
)
if
(
HDF5_HAVE_PARALLEL_DEFINE
)
set
(
HDF5_IS_PARALLEL TRUE
)
endif
()
unset
(
HDF5_HAVE_PARALLEL_DEFINE
)
file
(
STRINGS
"
${
_hdr
}
"
HDF5_VERSION_DEFINE
REGEX
"^[
\t
]*#[
\t
]*define[
\t
]+H5_VERSION[
\t
]+"
)
if
(
"
${
HDF5_VERSION_DEFINE
}
"
MATCHES
"H5_VERSION[
\t
]+
\"
([0-9]+
\\
.[0-9]+
\\
.[0-9]+).*
\"
"
)
set
(
HDF5_VERSION
"
${
CMAKE_MATCH_1
}
"
)
endif
()
unset
(
HDF5_VERSION_DEFINE
)
endif
()
endforeach
()
endforeach
()
set
(
HDF5_IS_PARALLEL
${
HDF5_IS_PARALLEL
}
CACHE BOOL
"HDF5 library compiled with parallel IO support"
)
mark_as_advanced
(
HDF5_IS_PARALLEL
)
# For backwards compatibility we set HDF5_INCLUDE_DIR to the value of
# HDF5_INCLUDE_DIRS
if
(
HDF5_INCLUDE_DIRS
)
set
(
HDF5_INCLUDE_DIR
"
${
HDF5_INCLUDE_DIRS
}
"
)
endif
()
endif
()
find_package_handle_standard_args
(
HDF5
REQUIRED_VARS HDF5_LIBRARIES HDF5_INCLUDE_DIRS
VERSION_VAR HDF5_VERSION
)
cmake/modules/InstallPythonPackage.cmake
deleted
100644 → 0
View file @
bbecedbd
# This cmake module provides macros that install python packages into the virtualenv
# that is shared by all dune modules that depend on dune-python.
#
# .. cmake_function:: dune_install_python_package
#
# .. cmake_param:: PATH
# :required:
# :single:
#
# Relative path to the given python package source code.
#
# .. cmake_param:: MAJOR_VERSION
# :single:
#
# Set to "2" or "3" if your python package only works with
# python2 or python3. This will restrict the installation process to that
# python version.
#
# .. cmake_param:: NO_PIP
# :option:
#
# Instead of :code:`pip -e`, `python setup.py develop` will be used as
# the installation command.
#
# .. cmake_param:: NO_EDIT
# :option:
#
# Will drop :code:`pip`s :code:`-e` option (or switch :code:`develop` to :code:`install`).
# Only use this option if your package is incompatible with :code:`-e`.
#
# Installs the python package located at path into the virtualenv used by dune-python
# The package at the given location is expected to be a pip installable package.
# Also marks the given python package for global installation during :code:`make install`.
# By default, the python package will then be installed into the system-wide site-packages
# location. If you do not want to install it there, or you do not have permission to,
# you may optionally set :ref:`DUNE_PYTHON_INSTALL_USER` to a username. The
# packages will then be installed in the home directory of that user.
# This is done through pips :code:`--user` option. Installation in arbitrary locations is not
# supported to minimize :code:`PYTHONPATH` issues.
#
# .. cmake_variable:: DUNE_PYTHON_INSTALL_USER
#
# dune-python only supports two ways of globally installing python packages during
# :code:`make install`:
#
# * Into standard system paths (default)
# * Into the standard python path of a users home directory (through :code:`pip --user`)
#
# Set this variable to a username to use the latter.
#
include
(
CheckPythonPackage
)
function
(
dorie_install_python_package
)
# Parse Arguments
set
(
OPTION NO_PIP NO_EDIT QUIET
)
set
(
SINGLE PATH MAJOR_VERSION
)
set
(
MULTI
)
include
(
CMakeParseArguments
)
cmake_parse_arguments
(
PYINST
"
${
OPTION
}
"
"
${
SINGLE
}
"
"
${
MULTI
}
"
${
ARGN
}
)
if
(
PYINST_UNPARSED_ARGUMENTS
)
message
(
WARNING
"Unparsed arguments in dune_install_python_package: This often indicates typos!"
)
endif
()
# apply defaults
if
(
NOT PYINST_MAJOR_VERSION
)
set
(
PYINST_MAJOR_VERSION 2 3
)
endif
()
# check for available pip packages
check_python_package
(
PACKAGE pip
INTERPRETER
${
PYTHON2_EXECUTABLE
}
RESULT PIP2_FOUND
)
check_python_package
(
PACKAGE pip
INTERPRETER
${
PYTHON3_EXECUTABLE
}
RESULT PIP3_FOUND
)
# Construct the installation command strings from the given options
if
(
PYINST_NO_PIP
)
if
(
PYINST_NO_EDIT
)
set
(
INST_COMMAND install
)
else
()
set
(
INST_COMMAND develop
)
endif
()
set
(
VENV_INSTALL_COMMAND python setup.py
${
INST_COMMAND
}
)
else
()
set
(
EDIT_OPTION
)
if
(
NOT PYINST_NO_EDIT
)
set
(
EDIT_OPTION -e
)
endif
()
if
(
PYINST_QUIET
)
set
(
EDIT_OPTION
"-q
${
EDIT_OPTION
}
"
)
endif
()
set
(
VENV_INSTALL_COMMAND python -m pip install
${
EDIT_OPTION
}
.
)
endif
()
# Construct the interpreter options for global installation
if
(
PYINST_NO_PIP
)
set
(
SYSTEM_INSTALL_OPTIONS setup.py install
)
if
(
DUNE_PYTHON_INSTALL_USER
)
message
(
"Error message: Incompatible options - NO_PIP and DUNE_PYTHON_INSTALL_USER"
)
endif
()
else
()
set
(
USER_STRING
""
)
if
(
DUNE_PYTHON_INSTALL_USER
)
set
(
USER_STRING --user
${
DUNE_PYTHON_INSTALL_USER
}
)
endif
()
set
(
SYSTEM_INSTALL_OPTIONS -m pip install
${
USER_STRING
}
.
)
endif
()
# iterate over the given interpreters
foreach
(
version
${
PYINST_MAJOR_VERSION
}
)
# install the package into the virtual env
execute_process
(
COMMAND
${
CMAKE_BINARY_DIR
}
/dune-env-
${
version
}
${
VENV_INSTALL_COMMAND
}
WORKING_DIRECTORY
${
CMAKE_CURRENT_SOURCE_DIR
}
/
${
PYINST_PATH
}
)
# define a rule on how to install the package during make install
if
(
PIP
${
version
}
_FOUND
)
install
(
CODE
"execute_process(COMMAND
${
PYTHON
${
version
}
_EXECUTABLE
}
${
SYSTEM_INSTALL_OPTIONS
}
WORKING_DIRECTORY
${
CMAKE_CURRENT_SOURCE_DIR
}
/
${
PYINST_PATH
}
)
"
)
else
()
install
(
CODE
"message(FATAL_ERROR
\"
You need the python
${
version
}
package pip installed on the host system to install a module that contains python code
\"
)"
)
endif
()
endforeach
()
endfunction
()
python/CMakeLists.txt
View file @
38d5508c
function
(
install_python_package curdir packagelist
)
function
(
install_python_package curdir packagelist
)
message
(
STATUS
"Installing python package dorie.
${
curdir
}
"
)
message
(
STATUS
"Installing python package dorie.
${
curdir
}
"
)
d
orie_install_python_package
(
PATH
${
curdir
}
QUIET
)
d
une_install_python_package
(
PATH
${
curdir
}
ADDITIONAL_PIP_PARAMS -r
${
CMAKE_CURRENT_SOURCE_DIR
}
/
${
curdir
}
/requirements.txt -q
)
set
(
${
packagelist
}
${${
packagelist
}}
${
CMAKE_CURRENT_SOURCE_DIR
}
/
${
curdir
}
PARENT_SCOPE
)
set
(
${
packagelist
}
${${
packagelist
}}
${
CMAKE_CURRENT_SOURCE_DIR
}
/
${
curdir
}
PARENT_SCOPE
)
endfunction
()
endfunction
()
...
...
python/parscraper/dorie/parscraper/match_parameters.py
View file @
38d5508c
from
__future__
import
absolute_import
import
os
import
os
from
warnings
import
warn
from
warnings
import
warn
...
...
python/parscraper/dorie/parscraper/readers/xml.py
View file @
38d5508c
from
__future__
import
absolute_import
import
xml.etree.ElementTree
as
ET
import
xml.etree.ElementTree
as
ET
from
warnings
import
warn
from
warnings
import
warn
from
collections
import
OrderedDict
from
collections
import
OrderedDict
...
...
python/parscraper/dorie/parscraper/wrapper/__init__.py
0 → 100644
View file @
38d5508c
python/parscraper/dorie/parscraper/writers/html.py
View file @
38d5508c
from
__future__
import
unicode_literals
import
datetime
import
datetime
import
os
import
os
import
re
import
re
...
@@ -5,7 +9,7 @@ import re
...
@@ -5,7 +9,7 @@ import re
from
dorie.utilities.check_path
import
check_path
from
dorie.utilities.check_path
import
check_path
from
dorie.parscraper.parameter
import
Parameter
from
dorie.parscraper.parameter
import
Parameter
def
write
(
parameters
,
out
,
path_
format
,
**
kwargs
):
def
write
(
parameters
,
out
,
path_
base
,
*
args
,
**
kwargs
):
"""
"""
Writes the contents of the ``parameters`` input dict to a .html file. The output is
Writes the contents of the ``parameters`` input dict to a .html file. The output is
structured as
structured as
...
@@ -21,9 +25,8 @@ def write(parameters,out,path_format,**kwargs):
...
@@ -21,9 +25,8 @@ def write(parameters,out,path_format,**kwargs):
:param dict parameters: dict with categories as keys and iterables of :class:`dorie.parscraper.parameter.Parameter`
\
:param dict parameters: dict with categories as keys and iterables of :class:`dorie.parscraper.parameter.Parameter`
\
instances as values.
instances as values.
:param str out: Path to the output file. Must be writable.
:param str out: Path to the output file. Must be writable.
:param str path_format: Format string pointing to the source files.
\
:param str path_base: Base path to the source files. Needed for creation of working links
\
Needed for creation of working links to the files. May contain \{filename\} and \{line\} that are substituted
\
to the files.
by the file name and line number, respectively.
:param str css: Path to a CSS file containing the styling of the HTML output. Is
\
:param str css: Path to a CSS file containing the styling of the HTML output. Is
\
included into the HTML output (inline). Optional.
included into the HTML output (inline). Optional.
...
@@ -32,7 +35,7 @@ def write(parameters,out,path_format,**kwargs):
...
@@ -32,7 +35,7 @@ def write(parameters,out,path_format,**kwargs):
# DEFINE SOME PROPERTIES
# DEFINE SOME PROPERTIES
title
=
"DORiE parameter cheat sheet"
title
=
"DORiE parameter cheat sheet"
headings
=
[
"Parameter"
,
"Definition"
,
"Possible values"
,
"Default"
,
"Queried at"
]
headings
=
[
"Parameter"
,
"Definition"
,
"Possible values"
,
"Default"
,
"Queried at"
]
table_content
=
lambda
p
:
(
p
.
key
,
p
.
definition
,
p
.
values
,
p
.
suggestion
,
_sources
(
p
,
path_
format
))
table_content
=
lambda
p
:
(
p
.
key
,
p
.
definition
,
p
.
values
,
p
.
suggestion
,
_sources
(
p
,
path_
base
))
widths
=
[
13
,
40
,
17
,
10
,
20
]
# relative column widths
widths
=
[
13
,
40
,
17
,
10
,
20
]
# relative column widths
# WRITE HTML CODE TO OUTPUT
# WRITE HTML CODE TO OUTPUT
...
@@ -176,7 +179,7 @@ def _parse_markdown(text):
...
@@ -176,7 +179,7 @@ def _parse_markdown(text):
return
text
return
text
def
_sources
(
p
,
path_
format
):
def
_sources
(
p
,
path_
base
):
"""
"""
Assembles the cell text for the sources of a parameter. Since the
Assembles the cell text for the sources of a parameter. Since the
Parameter._sources attribute is a list of tuples, we need to parse this
Parameter._sources attribute is a list of tuples, we need to parse this
...
@@ -186,14 +189,12 @@ def _sources(p,path_format):
...
@@ -186,14 +189,1