lib/rbbt/util/python.rb in rbbt-util-5.34.2 vs lib/rbbt/util/python.rb in rbbt-util-5.34.3
- old
+ new
@@ -2,10 +2,34 @@
require 'pycall/import'
module RbbtPython
extend PyCall::Import
+
+ def self.add_path(path)
+ self.run 'sys' do
+ sys.path.append path
+ end
+ end
+
+ def self.add_paths(paths)
+ self.run 'sys' do
+ paths.each do |path|
+ sys.path.append path
+ end
+ end
+ end
+
+ def self.init_rbbt
+ if ! defined?(@@__init_rbbt) || ! @@__init_rbbt
+ Log.debug "Loading python 'rbbt' module into pycall RbbtPython module"
+ RbbtPython.add_paths(Rbbt.python.find_all)
+ RbbtPython.pyimport("rbbt")
+ @@__init_rbbt = true
+ end
+ end
+
def self.exec(script)
PyCall.exec(script)
end
def self.iterate(iterator, options = {})
@@ -90,23 +114,6 @@
Log.trap_stderr("Python STDERR", severity) do
module_eval(&block)
end
end
-
- def self.add_path(path)
- self.run 'sys' do
- sys.path.append path
- end
- end
-
- def self.add_paths(paths)
- self.run 'sys' do
- paths.each do |path|
- sys.path.append path
- end
- end
- end
-
- RbbtPython.add_paths Rbbt.python.find_all
- RbbtPython.pyimport "rbbt"
end