Skip to content
Snippets Groups Projects
Commit 2b85ca19 authored by Ger van Diepen's avatar Ger van Diepen
Browse files

bug 1267:

First version of ParameterSet python binding
parent a9bcffa3
No related branches found
No related tags found
No related merge requests found
Showing
with 895 additions and 0 deletions
...@@ -283,6 +283,8 @@ LCS/Common/src/Common-Model.cat -text ...@@ -283,6 +283,8 @@ LCS/Common/src/Common-Model.cat -text
LCS/Common/test/CMakeLists.txt -text LCS/Common/test/CMakeLists.txt -text
LCS/LACE/bootstrap -text LCS/LACE/bootstrap -text
LCS/Stream/bootstrap -text LCS/Stream/bootstrap -text
LCS/pyparameterset/bootstrap -text
LCS/pytools/bootstrap -text
MAC/APL/APLCommon/Makefile.am -text svneol=native#application/octet-stream MAC/APL/APLCommon/Makefile.am -text svneol=native#application/octet-stream
MAC/APL/APLCommon/bootstrap -text svneol=native#application/octet-stream MAC/APL/APLCommon/bootstrap -text svneol=native#application/octet-stream
MAC/APL/APLCommon/configure.in -text svneol=native#application/octet-stream MAC/APL/APLCommon/configure.in -text svneol=native#application/octet-stream
......
SUBDIRS=src test
ACLOCAL_AMFLAGS = -I $(top_srcdir)/autoconf_share
pkgextdir = $(prefix)/config/$(PACKAGE)
pkgext_DATA = pkgext pkgextcppflags pkgextcxxflags pkgextldflags
DISTCHECK_CONFIGURE_FLAGS=\
--with-common=$(prefix)
EXTRA_DIST = \
Makefile.common \
pyparameterset.spec \
autoconf_share/compiletool
include $(top_srcdir)/Makefile.common
#!/bin/sh
../../autoconf_share/bootstrap ../../autoconf_share
dnl
dnl Process this file with autoconf to produce a configure script.
dnl
AC_INIT
dnl AC_CONFIG_AUX_DIR(config)
dnl AM_CONFIG_HEADER(config/config.h)
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE(pyparameterset, 1.0, no-define)
dnl Initialize for LOFAR (may set compilers)
lofar_INIT
dnl Checks for programs.
AC_PROG_AWK
AC_PROG_YACC
AC_PROG_CC
AC_PROG_CXX
AM_PROG_LEX
AC_PROG_INSTALL
AC_PROG_LN_S
dnl AC_DISABLE_SHARED
AC_PROG_LIBTOOL
dnl Checks for libraries.
dnl dnl Replace `main' with a function in -lfl:
dnl AC_CHECK_LIB(fl, main)
dnl dnl Replace `main' with a function in -lcosev_r:
dnl AC_CHECK_LIB(cosev_r, main)
dnl dnl Replace `main' with a function in -lcosnm_r:
dnl AC_CHECK_LIB(cosnm_r, main)
dnl dnl Replace `main' with a function in -lorb_r:
dnl AC_CHECK_LIB(orb_r, main)
dnl dnl Replace `main' with a function in -lpthread:
dnl AC_CHECK_LIB(pthread, main)
dnl dnl Replace `main' with a function in -lvport_r:
dnl AC_CHECK_LIB(vport_r, main)
dnl Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS(unistd.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_SIZE_T
dnl Checks for library functions.
AC_FUNC_VPRINTF
dnl Checks for Python
AM_PATH_PYTHON
dnl
dnl Check for LOFAR specific things
dnl
lofar_GENERAL
lofar_INTERNAL(LCS/ACC/APS,APS,,1,APS/ParameterSet.h)
lofar_INTERNAL(LCS/Common,Common,,1,Common/LofarTypedefs.h)
lofar_INTERNAL(LCS/pytools,pytools,,1,pytools/Package__Version.h)
lofar_EXTERNAL(pyrap,1,pyrap/Converters/PycBasicData.h)
lofar_AIPSPP(1,"-lcasa")
lofar_EXTERNAL(boost,1,boost/python.hpp,boost_python)
lofar_PYTHON(1)
dnl
dnl Output Makefiles
dnl
AC_OUTPUT(
src/Makefile
test/Makefile
Makefile
pyparameterset.spec
)
// \ingroup LCS
// \defgroup pyparameterset pyparamterset
// Python binding to ParameterSet class.
# -*- Mode:rpm-spec -*-
# ParmFacade.spec.in
#
##############################################################################
#
# Preamble
#
##############################################################################
Summary: ParmFacade is the high level access to the Parameter Data Base
%define release @RPM_RELEASE@
%define version @VERSION@
%define pkgname @PACKAGE@
%define pkgdir %{pkgname}-%{version}-%{release}
%define prefix /opt/lofar
%define configure_args @RPM_CONFIGURE_ARGS@
##define build_kernel_version @BUILD_KERNEL_VERSION@
Name: %{pkgname}
Version: %{version}
Release: %{release}
Copyright: LGPL
Group: Application/System
Source: %{pkgname}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{pkgdir}-root
URL: http://www.astron.nl
Prefix: %{prefix}
BuildArchitectures: i386 # Target platforms, i.e., i586
##Requires: Common = 1.2 ## define dependent packages here
Packager: %{packager}
Distribution: The LOFAR project
Vendor: ASTRON
AutoReqProv: no
%description
ParmFacade is the high level access to the Parameter Data Base.
##############################################################################
#
# prep
#
##############################################################################
%prep
echo $prefix
# create the build directory, untar the source
%setup
##############################################################################
#
# build
#
##############################################################################
%build
./configure %{configure_args} --prefix=%{prefix} && make
##############################################################################
#
# install
#
##############################################################################
%install
# To make things work with BUILDROOT
if [ "$RPM_BUILD_ROOT" != "%{_tmppath}/%{pkgdir}-root" ]
then
echo
echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
echo @ @
echo @ RPM_BUILD_ROOT is not what I expected. Please clean it yourself. @
echo @ @
echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
echo
else
echo Cleaning RPM_BUILD_ROOT: "$RPM_BUILD_ROOT"
rm -rf "$RPM_BUILD_ROOT"
fi
mkdir -p $RPM_BUILD_ROOT%{prefix}
make DESTDIR="$RPM_BUILD_ROOT" install
#uninstall
##############################################################################
#
# verify
#
##############################################################################
#verify
##############################################################################
#
# clean
#
##############################################################################
%clean
# Call me paranoid, but I do not want to be responsible for nuking
# someone's harddrive!
if [ "$RPM_BUILD_ROOT" != "%{_tmppath}/%{pkgdir}-root" ]
then
echo
echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
echo @ @
echo @ RPM_BUILD_ROOT is not what I expected. Please clean it yourself. @
echo @ @
echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
echo
else
echo Cleaning RPM_BUILD_ROOT: "$RPM_BUILD_ROOT"
rm -rf "$RPM_BUILD_ROOT"
fi
##############################################################################
#
# files
#
##############################################################################
# empty 'files' means all distributed files
%files
%defattr(-, root, root)
%{prefix}
# Your application file list goes here
# %{prefix}/lib/lib*.so*
# Documentation
# doc COPYING ChangeLog README AUTHORS NEWS
# doc doc/*
# link the module to the correct path
%post
# before uninstall
%preun
# after uninstall
%postun
##############################################################################
#
# package devel
#
##############################################################################
#package devel
#Summary: Development files for %{pkgname}
#Group: Applications/System
#description devel
#Development files for %{pkgname}.
#files devel
# Your development files go here
# Programmers documentation goes here
#doc doc
# end of file
lib_LTLIBRARIES = _pyparameterset.la
_pyparameterset_la_SOURCES = pyparameterset.cc
# Needed for non-standard library name (i.e. not lib...)
_pyparameterset_la_LDFLAGS = -module
_pyparameterset_la_DEPENDENCIES = $(LOFAR_DEPEND)
python_SCRIPTS = __init__.py
pythondir = $(prefix)/lib/python$(PYTHON_VERSION)/site-packages/lofar/parameterset
libdir = $(pythondir)
bin_PROGRAMS = versionpyparameterset
versionpyparameterset_SOURCES = versionpyparameterset.cc Package__Version.cc
versionpyparameterset_DEPENDENCIES = $(LOFAR_DEPEND)
include $(top_srcdir)/Makefile.common
# __init__.py: Top level .py file for python parameterset interface
# Copyright (C) 2008
# ASTRON (Netherlands Foundation for Research in Astronomy)
# P.O.Box 2, 7990 AA Dwingeloo, The Netherlands, seg@astron.nl
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# $Id$
from _pyparameterset import ParameterValue
from _pyparameterset import ParameterSet
class parametervalue(ParameterValue):
"""
The Python interface to ParameterValue
"""
def __init__(self, value, trim=True):
ParameterValue.__init__ (self, value, trim);
def __str__(self):
return self.get()
class parameterset(ParameterSet):
"""
The Python interface to ParameterSet
"""
def __init__(self, filename=None, caseInsensitive=False):
if filename==None:
ParameterSet.__init__ (self, caseInsensitive);
elif isinstance(filename, bool):
ParameterSet.__init__ (self, filename);
else:
ParameterSet.__init__ (self, filename, caseInsensitive);
def __getitem__(self, key):
return self.get (key)
def getBoolVector(self, key, default=None, expandable=False):
if default==None:
return self._getBoolVector1 (key, expandable)
if isinstance(default, bool):
return self._getBoolVector1 (key, default)
return self._getBoolVector2 (key, default, expandable)
def getIntVector(self, key, default=None, expandable=False):
if default==None:
return self._getIntVector1 (key, expandable)
if isinstance(default, bool):
return self._getIntVector1 (key, default)
return self._getIntVector2 (key, default, expandable)
def getFloatVector(self, key, default=None, expandable=False):
if default==None:
return self._getFloatVector1 (key, expandable)
if isinstance(default, bool):
return self._getFloatVector1 (key, default)
return self._getFloatVector2 (key, default, expandable)
def getDoubleVector(self, key, default=None, expandable=False):
if default==None:
return self._getDoubleVector1 (key, expandable)
if isinstance(default, bool):
return self._getDoubleVector1 (key, default)
return self._getDoubleVector2 (key, default, expandable)
def getStringVector(self, key, default=None, expandable=False):
if default==None:
return self._getStringVector1 (key, expandable)
if isinstance(default, bool):
return self._getStringVector1 (key, default)
return self._getStringVector2 (key, default, expandable)
//# pyparameterset.cc: python module for ParameterSet class
//# Copyright (C) 2008
//# ASTRON (Netherlands Foundation for Research in Astronomy)
//# P.O.Box 2, 7990 AA Dwingeloo, The Netherlands, seg@astron.nl
//#
//# This program is free software; you can redistribute it and/or modify
//# it under the terms of the GNU General Public License as published by
//# the Free Software Foundation; either version 2 of the License, or
//# (at your option) any later version.
//#
//# This program is distributed in the hope that it will be useful,
//# but WITHOUT ANY WARRANTY; without even the implied warranty of
//# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//# GNU General Public License for more details.
//#
//# You should have received a copy of the GNU General Public License
//# along with this program; if not, write to the Free Software
//# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//#
//# $Id$
#include <lofar_config.h>
#include <APS/ParameterSet.h>
#include <pyrap/Converters/PycExcp.h>
#include <pyrap/Converters/PycBasicData.h>
#include <pyrap/Converters/PycRecord.h>
#include <pyrap/Converters/PycBasicData.h>
#include <boost/python.hpp>
#include <boost/python/args.hpp>
using namespace boost::python;
using namespace casa::pyrap;
namespace LOFAR { namespace ACC { namespace APS {
// Define function pointers for overloaded functions to be able to tell
// boost-python which function to take.
void (ParameterSet::*fadd)(const string&, const string&) =
&ParameterSet::add;
void (ParameterSet::*freplace)(const string&, const string&) =
&ParameterSet::replace;
bool (ParameterSet::*fgetbool1)(const string&) const =
&ParameterSet::getBool;
bool (ParameterSet::*fgetbool2)(const string&, bool) const =
&ParameterSet::getBool;
vector<bool> (ParameterSet::*fgetvecbool1)(const string&, bool) const =
&ParameterSet::getBoolVector;
vector<bool> (ParameterSet::*fgetvecbool2)(const string&, const vector<bool>&, bool) const =
&ParameterSet::getBoolVector;
int (ParameterSet::*fgetint1)(const string&) const =
&ParameterSet::getInt;
int (ParameterSet::*fgetint2)(const string&, int) const =
&ParameterSet::getInt;
vector<int> (ParameterSet::*fgetvecint1)(const string&, bool) const =
&ParameterSet::getIntVector;
vector<int> (ParameterSet::*fgetvecint2)(const string&, const vector<int>&, bool) const =
&ParameterSet::getIntVector;
float (ParameterSet::*fgetfloat1)(const string&) const =
&ParameterSet::getFloat;
float (ParameterSet::*fgetfloat2)(const string&, float) const =
&ParameterSet::getFloat;
vector<float> (ParameterSet::*fgetvecfloat1)(const string&, bool) const =
&ParameterSet::getFloatVector;
vector<float> (ParameterSet::*fgetvecfloat2)(const string&, const vector<float>&, bool) const =
&ParameterSet::getFloatVector;
double (ParameterSet::*fgetdouble1)(const string&) const =
&ParameterSet::getDouble;
double (ParameterSet::*fgetdouble2)(const string&, double) const =
&ParameterSet::getDouble;
vector<double> (ParameterSet::*fgetvecdouble1)(const string&, bool) const =
&ParameterSet::getDoubleVector;
vector<double> (ParameterSet::*fgetvecdouble2)(const string&, const vector<double>&, bool) const =
&ParameterSet::getDoubleVector;
string (ParameterSet::*fgetstring1)(const string&) const =
&ParameterSet::getString;
string (ParameterSet::*fgetstring2)(const string&, const string&) const =
&ParameterSet::getString;
vector<string> (ParameterSet::*fgetvecstring1)(const string&, bool) const =
&ParameterSet::getStringVector;
vector<string> (ParameterSet::*fgetvecstring2)(const string&, const vector<string>&, bool) const =
&ParameterSet::getStringVector;
// Define the python interface to ParameterValue.
void pyparametervalue()
{
class_<ParameterValue> ("ParameterValue",
init<std::string, bool>())
.def ("get", &ParameterValue::get,
return_value_policy < copy_const_reference> ())
.def ("expand", &ParameterValue::expand)
.def ("isVector", &ParameterValue::isVector)
.def ("getVector", &ParameterValue::getVector)
.def ("getBool", &ParameterValue::getBool)
.def ("getInt", &ParameterValue::getInt)
.def ("getFloat", &ParameterValue::getFloat)
.def ("getDouble", &ParameterValue::getDouble)
.def ("getString", &ParameterValue::getString)
.def ("getBoolVector", &ParameterValue::getBoolVector)
.def ("getIntVector", &ParameterValue::getIntVector)
.def ("getFloatVector", &ParameterValue::getFloatVector)
.def ("getDoubleVector", &ParameterValue::getDoubleVector)
.def ("getStringVector", &ParameterValue::getStringVector)
;
}
// Define the python interface to ParameterSet.
void pyparameterset()
{
class_<ParameterSet> ("ParameterSet")
.def (init<bool>())
.def (init<std::string, bool>())
.def ("size", &ParameterSet::size)
.def ("__len__", &ParameterSet::size)
.def ("makeSubset", &ParameterSet::makeSubset,
(boost::python::arg("baseKey"),
boost::python::arg("prefix")=""))
.def ("subtractSubset", &ParameterSet::subtractSubset,
(boost::python::arg("baseKey")))
.def ("adoptFile", &ParameterSet::adoptFile,
(boost::python::arg("filename"),
boost::python::arg("prefix")=""))
.def ("writeFile", &ParameterSet::writeFile,
(boost::python::arg("filename"),
boost::python::arg("append")=false))
.def ("add", fadd,
(boost::python::arg("key"),
boost::python::arg("value")))
.def ("replace", freplace,
(boost::python::arg("key"),
boost::python::arg("value")))
.def ("remove", &ParameterSet::remove,
(boost::python::arg("key")))
.def ("clear", &ParameterSet::clear)
.def ("isDefined", &ParameterSet::isDefined,
(boost::python::arg("key")))
.def ("get", &ParameterSet::get,
return_value_policy < copy_const_reference> (),
(boost::python::arg("key")))
.def ("getBool", fgetbool1,
(boost::python::arg("key")))
.def ("getBool", fgetbool2,
(boost::python::arg("key"),
boost::python::arg("default")))
.def ("getInt", fgetint1,
(boost::python::arg("key")))
.def ("getInt", fgetint2,
(boost::python::arg("key"),
boost::python::arg("default")))
.def ("getFloat", fgetfloat1,
(boost::python::arg("key")))
.def ("getFloat", fgetfloat2,
(boost::python::arg("key"),
boost::python::arg("default")))
.def ("getDouble", fgetdouble1,
(boost::python::arg("key")))
.def ("getDouble", fgetdouble2,
(boost::python::arg("key"),
boost::python::arg("default")))
.def ("getString", fgetstring1,
(boost::python::arg("key")))
.def ("getString", fgetstring2,
(boost::python::arg("key"),
boost::python::arg("default")))
.def ("_getBoolVector1", fgetvecbool1,
(boost::python::arg("key"),
boost::python::arg("expandable")))
.def ("_getBoolVector2", fgetvecbool2,
(boost::python::arg("key"),
boost::python::arg("default"),
boost::python::arg("expandable")))
.def ("_getIntVector1", fgetvecint1,
(boost::python::arg("key"),
boost::python::arg("expandable")))
.def ("_getIntVector2", fgetvecint2,
(boost::python::arg("key"),
boost::python::arg("default"),
boost::python::arg("expandable")))
.def ("_getFloatVector1", fgetvecfloat1,
(boost::python::arg("key"),
boost::python::arg("expandable")))
.def ("_getFloatVector2", fgetvecfloat2,
(boost::python::arg("key"),
boost::python::arg("default"),
boost::python::arg("expandable")))
.def ("_getDoubleVector1", fgetvecdouble1,
(boost::python::arg("key"),
boost::python::arg("expandable")))
.def ("_getDoubleVector2", fgetvecdouble2,
(boost::python::arg("key"),
boost::python::arg("default"),
boost::python::arg("expandable")))
.def ("_getStringVector1", fgetvecstring1,
(boost::python::arg("key"),
boost::python::arg("expandable")))
.def ("_getStringVector2", fgetvecstring2,
(boost::python::arg("key"),
boost::python::arg("default"),
boost::python::arg("expandable")))
;
}
}}}
// Define the python module itself.
BOOST_PYTHON_MODULE(_pyparameterset)
{
casa::pyrap::register_convert_excp();
casa::pyrap::register_convert_basicdata();
casa::pyrap::register_convert_std_vector<LOFAR::ACC::APS::ParameterValue>();
casa::pyrap::register_convert_std_vector<bool>();
casa::pyrap::register_convert_std_vector<int>();
casa::pyrap::register_convert_std_vector<float>();
casa::pyrap::register_convert_std_vector<double>();
casa::pyrap::register_convert_std_vector<std::string>();
// casa::pyrap::register_convert_casa_record();
LOFAR::ACC::APS::pyparametervalue();
LOFAR::ACC::APS::pyparameterset();
}
# scripts used to run tests
TESTSCRIPTS = tpyparameterset.sh
# scripts and possible programs to run tests
TESTS = $(TESTSCRIPTS)
XFAIL_TESTS =
# all files (.run, .stdout, .in, .log_prop, etc.) needed to run tests
EXTRA_DIST = $(TESTSCRIPTS) \
tpyparameterset.run tpyparameterset.py
tpyparameterset.in tpyparameterset.stdout
include $(top_srcdir)/Makefile.common
# comment line
a.b=7
# the next two lines overlap with the KVs in test.ps
a.b.lange_naam="dit is nu een andere naam geworden met extra spaties aan het einde "
a.b.c=5
a.b.double= 3.1415926 # we may put comment here
a.b.bool = true
e.g=een voorbeeld
egg=een ei
vecbool=[true,false,true]
vec=[1,2,3]
vecexp=[1..3,5..10]
vecnest=[[1..3,5*10],[5..10]]
from lofar.parameterset import *
def checkps (ps):
print ps.isDefined("key1")
print ps.isDefined("a.b")
print ps.get("a.b").get()
print ps.getString("a.b")
print ps.getString("a.b", "aa")
print ps.getString("aa.bb", "aa")
print ps.getString("a.b.lange_naam")
print ps.getBool(key="a.b.bool")
print ps.getBool("a.b.bool", False)
print ps.getBool("aa.bb", False)
print ps.getInt("a.b")
print ps.getInt("a.b", 10)
print ps.getInt("aa.bb", 10)
print ps.getFloat("a.b")
print ps.getFloat("a.b", 3.14)
print ps.getFloat("aa.bb", 3.14)
print ps.getDouble("a.b.double")
print ps.getBoolVector("vecbool")
print ps.getBoolVector("vecbool", (False,True))
print ps.getBoolVector("aa.bb", [False,True])
print ps.getIntVector("vec")
print ps.getIntVector("vec", (5,6))
print ps.getIntVector("aa.bb", [5,6])
print ps.getFloatVector("vec")
print ps.getFloatVector("vec", (5,6))
print ps.getFloatVector("aa.bb", [5,6])
print ps.getDoubleVector("vec")
print ps.getDoubleVector("vec", (5,6))
print ps.getDoubleVector("aa.bb", [5,6])
print ps.getStringVector("vec")
print ps.getStringVector("vec", ('5','6'))
print ps.getStringVector("aa.bb", ['5','6'])
print ps.getIntVector("vecexp", True)
print ps.getIntVector("vecexp", [1,2], True)
print ps.getIntVector("aa.bb", [1,2], True)
pvs = ps["vecnest"]
print pvs.isVector()
pvsvec = pvs.getVector()
print pvsvec[0].get()
print pvsvec[0].expand().getIntVector()
print pvsvec[1].expand().getIntVector()
# Check using given parset file.
checkps (parameterset("tpyparameterset.in"))
print ""
# Create and check a new parset using same keys/values as in parset file.
ps=parameterset()
ps.add ("a.b", "7")
ps.add ("a.b.lange_naam", "dit is nu een andere naam geworden met extra spaties aan het einde ")
ps.add ("a.b.c", "5")
ps.add ("a.b.double", "3.1415926")
ps.add ("a.b.bool", "true")
ps.add ("e.g", "een voorbeeld")
ps.add ("egg", "een ei")
ps.add ("vecbool", "[true,false,true]")
ps.add ("vec", "[1,2,3]")
ps.add ("vecexp", "[1..3,5..10]")
ps.add ("vecnest", "[[1..3,5*10],[5..10]]")
checkps (ps)
#! /bin/sh
if test "$srcdir" = ""; then
srcdir="../../../test"
fi
PYTHONPATH=`pwd`:$PYTHONPATH
export PYTHONPATH
mkdir -p lofar/parameterset
touch lofar/__init__.py
cp $srcdir/../src/*.py lofar/parameterset
cp ../src/.libs/_pyparameterset.so lofar/parameterset
python tpyparameterset.py
#!/bin/sh
$lofar_sharedir/runtest.sh tpyparameterset > tpyparameterset.log 2>&1
False
True
7
7
7
aa
dit is nu een andere naam geworden met extra spaties aan het einde
True
True
False
7
7
10
7.0
7.0
3.1400001049
3.1415926
[True, False, True]
[True, False, True]
[False, True]
[1, 2, 3]
[1, 2, 3]
[5, 6]
[1.0, 2.0, 3.0]
[1.0, 2.0, 3.0]
[5.0, 6.0]
[1.0, 2.0, 3.0]
[1.0, 2.0, 3.0]
[5.0, 6.0]
['1', '2', '3']
['1', '2', '3']
['5', '6']
[1, 2, 3, 5, 6, 7, 8, 9, 10]
[1, 2, 3, 5, 6, 7, 8, 9, 10]
[1, 2]
True
[1..3,5*10]
[1, 2, 3, 10, 10, 10, 10, 10]
[5, 6, 7, 8, 9, 10]
False
True
7
7
7
aa
dit is nu een andere naam geworden met extra spaties aan het einde
True
True
False
7
7
10
7.0
7.0
3.1400001049
3.1415926
[True, False, True]
[True, False, True]
[False, True]
[1, 2, 3]
[1, 2, 3]
[5, 6]
[1.0, 2.0, 3.0]
[1.0, 2.0, 3.0]
[5.0, 6.0]
[1.0, 2.0, 3.0]
[1.0, 2.0, 3.0]
[5.0, 6.0]
['1', '2', '3']
['1', '2', '3']
['5', '6']
[1, 2, 3, 5, 6, 7, 8, 9, 10]
[1, 2, 3, 5, 6, 7, 8, 9, 10]
[1, 2]
True
[1..3,5*10]
[1, 2, 3, 10, 10, 10, 10, 10]
[5, 6, 7, 8, 9, 10]
SUBDIRS=src
ACLOCAL_AMFLAGS = -I $(top_srcdir)/autoconf_share
pkgextdir = $(prefix)/config/$(PACKAGE)
pkgext_DATA = pkgext pkgextcppflags pkgextcxxflags pkgextldflags
EXTRA_DIST = \
Makefile.common \
autoconf_share/compiletool
include $(top_srcdir)/Makefile.common
#!/bin/sh
../../autoconf_share/bootstrap ../../autoconf_share
dnl
dnl Process this file with autoconf to produce a configure script.
dnl
AC_INIT
dnl AC_CONFIG_AUX_DIR(config)
dnl AM_CONFIG_HEADER(config/config.h)
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE(pytools, 1.0, no-define)
dnl Initialize for LOFAR (may set compilers)
lofar_INIT
dnl Checks for programs.
AC_PROG_AWK
AC_PROG_YACC
AC_PROG_CC
AC_PROG_CXX
AM_PROG_LEX
AC_PROG_INSTALL
AC_PROG_LN_S
dnl AC_DISABLE_SHARED
AC_PROG_LIBTOOL
dnl Checks for libraries.
dnl dnl Replace `main' with a function in -lfl:
dnl AC_CHECK_LIB(fl, main)
dnl dnl Replace `main' with a function in -lcosev_r:
dnl AC_CHECK_LIB(cosev_r, main)
dnl dnl Replace `main' with a function in -lcosnm_r:
dnl AC_CHECK_LIB(cosnm_r, main)
dnl dnl Replace `main' with a function in -lorb_r:
dnl AC_CHECK_LIB(orb_r, main)
dnl dnl Replace `main' with a function in -lpthread:
dnl AC_CHECK_LIB(pthread, main)
dnl dnl Replace `main' with a function in -lvport_r:
dnl AC_CHECK_LIB(vport_r, main)
dnl Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS(unistd.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_SIZE_T
dnl Checks for library functions.
AC_FUNC_VPRINTF
dnl Checks for Python
AM_PATH_PYTHON
dnl
dnl Check for LOFAR specific things
dnl
lofar_GENERAL
lofar_INTERNAL(LCS/Common,Common,,1,Common/LofarTypedefs.h)
lofar_PYTHON(1)
dnl
dnl Output Makefiles
dnl
AC_OUTPUT(
src/Makefile
Makefile
)
// \ingroup LCS
// \defgroup pytools pytools
// Standard files needed for Python code and bindings to C++ classes.
pkginclude_HEADERS = Package__Version.h
lib_LTLIBRARIES = libpytools.la
libpytools_la_SOURCES = Package__Version.cc
bin_PROGRAMS = versionpytools
versionpytools_SOURCES = versionpytools.cc
versionpytools_LDADD = libpytools.la
versionpytools_DEPENDENCIES = libpytools.la $(LOFAR_DEPEND)
dist_python_SCRIPTS = __init__.py
pythondir = $(prefix)/lib/python$(PYTHON_VERSION)/site-packages/lofar
include $(top_srcdir)/Makefile.common
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment