summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/py_chain.cc62
-rw-r--r--src/py_global.cc64
-rw-r--r--src/py_report.cc64
-rw-r--r--src/py_scope.cc56
-rw-r--r--src/py_session.cc63
-rw-r--r--src/py_timelog.cc66
-rw-r--r--src/pyinterp.cc14
-rw-r--r--tools/Makefile.am5
8 files changed, 11 insertions, 383 deletions
diff --git a/src/py_chain.cc b/src/py_chain.cc
deleted file mode 100644
index 7dac7fc6..00000000
--- a/src/py_chain.cc
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 2003-2009, John Wiegley. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * - Neither the name of New Artisans LLC nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <system.hh>
-
-#include "pyinterp.h"
-
-namespace ledger {
-
-using namespace boost::python;
-
-#define EXC_TRANSLATOR(type) \
- void exc_translate_ ## type(const type& err) { \
- PyErr_SetString(PyExc_ArithmeticError, err.what()); \
- }
-
-//EXC_TRANSLATOR(chain_error)
-
-void export_chain()
-{
-#if 0
- struct_< item_handler_t > ("ItemHandler")
- ;
-#endif
-
- //register_optional_to_python<amount_t>();
-
-#define EXC_TRANSLATE(type) \
- register_exception_translator<type>(&exc_translate_ ## type);
-
- //EXC_TRANSLATE(chain_error);
-}
-
-} // namespace ledger
diff --git a/src/py_global.cc b/src/py_global.cc
deleted file mode 100644
index 936e3fab..00000000
--- a/src/py_global.cc
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 2003-2009, John Wiegley. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * - Neither the name of New Artisans LLC nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <system.hh>
-
-#include "pyinterp.h"
-
-namespace ledger {
-
-using namespace boost::python;
-
-#define EXC_TRANSLATOR(type) \
- void exc_translate_ ## type(const type& err) { \
- PyErr_SetString(PyExc_ArithmeticError, err.what()); \
- }
-
-//EXC_TRANSLATOR(global_error)
-
-void export_global()
-{
-#if 0
- class_< global_scope_t > ("GlobalScope")
- ;
-#endif
-
- //register_optional_to_python<amount_t>();
-
- //implicitly_convertible<string, amount_t>();
-
-#define EXC_TRANSLATE(type) \
- register_exception_translator<type>(&exc_translate_ ## type);
-
- //EXC_TRANSLATE(global_error);
-}
-
-} // namespace ledger
diff --git a/src/py_report.cc b/src/py_report.cc
deleted file mode 100644
index aa70f5f1..00000000
--- a/src/py_report.cc
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 2003-2009, John Wiegley. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * - Neither the name of New Artisans LLC nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <system.hh>
-
-#include "pyinterp.h"
-
-namespace ledger {
-
-using namespace boost::python;
-
-#define EXC_TRANSLATOR(type) \
- void exc_translate_ ## type(const type& err) { \
- PyErr_SetString(PyExc_ArithmeticError, err.what()); \
- }
-
-//EXC_TRANSLATOR(report_error)
-
-void export_report()
-{
-#if 0
- class_< report_t > ("Report")
- ;
-#endif
-
- //register_optional_to_python<amount_t>();
-
- //implicitly_convertible<string, amount_t>();
-
-#define EXC_TRANSLATE(type) \
- register_exception_translator<type>(&exc_translate_ ## type);
-
- //EXC_TRANSLATE(report_error);
-}
-
-} // namespace ledger
diff --git a/src/py_scope.cc b/src/py_scope.cc
index cc85030c..c5c4fff6 100644
--- a/src/py_scope.cc
+++ b/src/py_scope.cc
@@ -38,59 +38,17 @@ namespace ledger {
using namespace boost::python;
namespace {
- void py_scope_define(scope_t& scope, const string& name, expr_t& def)
- {
- return scope.define(name, def.get_op());
- }
-
- expr_t py_scope_lookup(scope_t& scope, const string& name)
- {
- return scope.lookup(name);
- }
-
- value_t py_scope_getattr(scope_t& scope, const string& name)
- {
- return expr_t(scope.lookup(name)).calc(scope);
- }
-
- struct scope_wrapper : public scope_t
- {
- PyObject * self;
-
- scope_wrapper(PyObject * self_) : self(self_) {}
-
- virtual expr_t::ptr_op_t lookup(const string&) {
- return NULL;
- }
- };
}
void export_scope()
{
- class_< scope_t, scope_wrapper, boost::noncopyable > ("Scope", no_init)
- .def("define", py_scope_define)
- .def("lookup", py_scope_lookup)
- .def("__getattr__", py_scope_getattr)
- ;
-
- class_< child_scope_t, bases<scope_t>,
- boost::noncopyable > ("ChildScope")
- .def(init<>())
- .def(init<scope_t&>())
- ;
-
- class_< symbol_scope_t, bases<child_scope_t>,
- boost::noncopyable > ("SymbolScope")
- .def(init<>())
- .def(init<scope_t&>())
- ;
-
- class_< call_scope_t, bases<child_scope_t>,
- boost::noncopyable > ("CallScope", init<scope_t&>())
- ;
-
- class_< bind_scope_t, bases<child_scope_t>,
- boost::noncopyable > ("BindScope", init<scope_t&, scope_t&>())
+ class_< scope_t, boost::noncopyable > ("Scope", no_init)
+#if 0
+ .def("is_posting", )
+ .def("is_transaction", )
+ .def("is_account", )
+ .def("is_journal", )
+#endif
;
}
diff --git a/src/py_session.cc b/src/py_session.cc
deleted file mode 100644
index 7d9c28f9..00000000
--- a/src/py_session.cc
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2003-2009, John Wiegley. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * - Neither the name of New Artisans LLC nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <system.hh>
-
-#include "pyinterp.h"
-
-namespace ledger {
-
-using namespace boost::python;
-
-#define EXC_TRANSLATOR(type) \
- void exc_translate_ ## type(const type& err) { \
- PyErr_SetString(PyExc_ArithmeticError, err.what()); \
- }
-
-//EXC_TRANSLATOR(session_error)
-
-void export_session()
-{
- class_< session_t, bases<symbol_scope_t>,
- shared_ptr<session_t>, boost::noncopyable > ("SessionBase")
- ;
-
- class_< python_interpreter_t, bases<session_t>,
- shared_ptr<python_interpreter_t>, boost::noncopyable > ("Session")
- ;
-
-#define EXC_TRANSLATE(type) \
- register_exception_translator<type>(&exc_translate_ ## type);
-
- //EXC_TRANSLATE(session_error);
-}
-
-} // namespace ledger
diff --git a/src/py_timelog.cc b/src/py_timelog.cc
deleted file mode 100644
index afb19266..00000000
--- a/src/py_timelog.cc
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2003-2009, John Wiegley. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * - Neither the name of New Artisans LLC nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <system.hh>
-
-#include "pyinterp.h"
-
-namespace ledger {
-
-using namespace boost::python;
-
-#define EXC_TRANSLATOR(type) \
- void exc_translate_ ## type(const type& err) { \
- PyErr_SetString(PyExc_ArithmeticError, err.what()); \
- }
-
-//EXC_TRANSLATOR(timelog_error)
-
-void export_timelog()
-{
-#if 0
- class_< time_xact_t > ("TimeXact")
- ;
- class_< time_log_t > ("TimeLog")
- ;
-#endif
-
- //register_optional_to_python<amount_t>();
-
- //implicitly_convertible<string, amount_t>();
-
-#define EXC_TRANSLATE(type) \
- register_exception_translator<type>(&exc_translate_ ## type);
-
- //EXC_TRANSLATE(timelog_error);
-}
-
-} // namespace ledger
diff --git a/src/pyinterp.cc b/src/pyinterp.cc
index 7c4818ae..005fc57a 100644
--- a/src/pyinterp.cc
+++ b/src/pyinterp.cc
@@ -44,19 +44,14 @@ char * argv0;
void export_account();
void export_amount();
void export_balance();
-void export_chain();
void export_commodity();
void export_expr();
void export_flags();
void export_format();
-void export_global();
void export_item();
void export_journal();
void export_post();
-void export_report();
void export_scope();
-void export_session();
-void export_timelog();
void export_times();
void export_utils();
void export_value();
@@ -67,25 +62,24 @@ void initialize_for_python()
export_account();
export_amount();
export_balance();
- export_chain();
export_commodity();
export_expr();
export_flags();
export_format();
- export_global();
export_item();
export_journal();
export_post();
- export_report();
export_scope();
- export_session();
- export_timelog();
export_times();
export_utils();
export_value();
export_xact();
+#if 0
+ // jww (2009-11-04): This is not valid unless I export the session object.
+ // But I think Python scripters will interace with a journal instead.
scope().attr("current_session") = python_session;
+#endif
}
struct python_run
diff --git a/tools/Makefile.am b/tools/Makefile.am
index 11f79050..f19f9030 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -208,19 +208,14 @@ libledger_python_la_SOURCES = \
src/py_account.cc \
src/py_amount.cc \
src/py_balance.cc \
- src/py_chain.cc \
src/py_commodity.cc \
src/py_expr.cc \
src/py_flags.cc \
src/py_format.cc \
- src/py_global.cc \
src/py_item.cc \
src/py_journal.cc \
src/py_post.cc \
- src/py_report.cc \
src/py_scope.cc \
- src/py_session.cc \
- src/py_timelog.cc \
src/py_times.cc \
src/py_utils.cc \
src/py_value.cc \