Sha256: 149dd0193c4312732cb2b5d63c492bcc1d7d4f85b5d6219c490cf67ca520f3f2
Contents?: true
Size: 1.48 KB
Versions: 3
Compression:
Stored size: 1.48 KB
Contents
require 'open3' require 'optparse' require 'nokogiri' require_relative 'tree_tagger/version' require_relative 'tree_tagger/cli' require_relative 'tree_tagger/error_layer' module Opener class TreeTagger attr_reader :options, :args ## # Hash containing the default options to use. # # @return [Hash] # DEFAULT_OPTIONS = { :args => [] }.freeze ## # @param [Hash] options # # @option options [Array] :args Collection of arbitrary arguments to pass # to the underlying kernel. # def initialize(options = {}) @args = options.delete(:args) || [] @options = DEFAULT_OPTIONS.merge(options) end def run(input) begin stdout, stderr, process = capture(input) raise stderr unless process.success? return stdout rescue Exception => error return ErrorLayer.new(input, error.message, self.class).add end end def capture(input) Open3.capture3(*command.split(" "), :stdin_data=>input) end def command return "#{adjust_python_path} python -E -OO #{kernel} #{args.join(' ')}" end protected ## # @return [String] # def adjust_python_path site_packages = File.join(core_dir, 'site-packages') "env PYTHONPATH=#{site_packages}:$PYTHONPATH" end def core_dir File.expand_path("../../core", File.dirname(__FILE__)) end def kernel File.join(core_dir,'/tt_from_kaf_to_kaf.py') end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
opener-tree-tagger-3.2.4 | lib/opener/tree_tagger.rb |
opener-tree-tagger-3.0.3 | lib/opener/tree_tagger.rb |
opener-tree-tagger-3.0.2 | lib/opener/tree_tagger.rb |