setup.py moved to python/python. moved python tests to python/python. added __init__.py under python/tests. added 'test_' before all python test names. test_ prefix added to tests. setup.py and python tests moved back to python base. setuptools executes from root python. python: tests run from root python w/ setup.py. python tests: temp reduced to test_deck only. python setup.py: manually linked opmcommon. setup.py: linked ecl. setup.py linked boost_filesystem. setup.py: linked boost_regex. python all tests run. removec usr/local from setup.py ext_module. cmake make copies entire python dir to build. setup.py can execute from build. setup.py executes from build/python. python tests run under setup.py. setup.py library_dirs and include-dirs set by cmake command. removed cmake files from sunbeam. sunbeam: added code for install. setup.py: removed 'import ecl'. python/src -> python->src_sunbeam. setup.py: discontinued use of glob, all files listed instead. build-opm_module.sh: added prefix_path to opm. build-opm-module.sh: changed spell error for EXTRA_MODULE_FLAGS[opm-common]. setup.py: infer include directories from cmake target CMakeLists.txt: under python: align install statement. CMakeLists build python: removed find_package. src_sunbeam -> cxx. setup.py: test_suite as string. setup.py: tests_suite -> test_suite. setup.py: added exception if 'build_ext' not used. temporarily moved files to python/sunbeam.
47 lines
1.4 KiB
C++
47 lines
1.4 KiB
C++
#include <opm/parser/eclipse/EclipseState/Eclipse3DProperties.hpp>
|
|
#include <pybind11/stl.h>
|
|
|
|
#include "sunbeam.hpp"
|
|
#include "converters.hpp"
|
|
|
|
namespace {
|
|
|
|
py::list getitem( const Eclipse3DProperties& p, const std::string& kw) {
|
|
const auto& ip = p.getIntProperties();
|
|
if (ip.supportsKeyword(kw) && ip.hasKeyword(kw))
|
|
return iterable_to_pylist(p.getIntGridProperty(kw).getData());
|
|
|
|
|
|
const auto& dp = p.getDoubleProperties();
|
|
if (dp.supportsKeyword(kw) && dp.hasKeyword(kw))
|
|
return iterable_to_pylist(p.getDoubleGridProperty(kw).getData());
|
|
|
|
throw py::key_error( "no such grid property " + kw );
|
|
}
|
|
|
|
bool contains( const Eclipse3DProperties& p, const std::string& kw) {
|
|
return
|
|
(p.getIntProperties().supportsKeyword(kw) &&
|
|
p.getIntProperties().hasKeyword(kw))
|
|
||
|
|
(p.getDoubleProperties().supportsKeyword(kw) &&
|
|
p.getDoubleProperties().hasKeyword(kw))
|
|
;
|
|
}
|
|
|
|
std::vector<int> regions( const Eclipse3DProperties& p, const std::string& kw) {
|
|
return p.getRegions(kw);
|
|
}
|
|
|
|
}
|
|
|
|
void sunbeam::export_Eclipse3DProperties(py::module& module) {
|
|
|
|
py::class_< Eclipse3DProperties >( module, "Eclipse3DProperties")
|
|
.def( "getRegions", ®ions )
|
|
.def( "__contains__", &contains )
|
|
.def( "__getitem__", &getitem )
|
|
;
|
|
|
|
}
|