Sha256: c2cd4bcc80905b9897b6436b6f580eddd8fac2dd52f0d3ac63ed93b04c277754

Contents?: true

Size: 1.32 KB

Versions: 154

Compression:

Stored size: 1.32 KB

Contents

#!/usr/bin/env ruby

require 'rbbt-util'
require 'rbbt/util/simpleopt'
require 'rbbt/association'

$0 = "rbbt #{$previous_commands*""} #{ File.basename(__FILE__) }" if $previous_commands

options = SOPT.setup <<EOF

Subset of matches between entities

$ rbbt association subset [options] <filename>

Indicate the index file (TokyoCabinet BDB with source~target keys) as the <filename> argument

-h--help Print this help
-s--source* Source entities
-t--target* Target entities
-tsv--tsv* Output tsv
EOF

rbbt_usage and exit 0 if options[:help] 
filename = ARGV.shift
raise ParameterException, "No filename specified" if filename.nil?

file = Persist.open_tokyocabinet(filename,false, nil, TokyoCabinet::BDB)

file.extend Association::Index

source = options[:source] ? options[:source].split(/,\|/) : :all
target = options[:target] ? options[:target].split(/,\|/) : :all

matches = file.subset(source, target)

if options[:tsv]
  puts matches.tsv.to_s
else
  matches.each do |item|
    puts Log.color(:magenta, item)
    info = file.fields.zip(file[item])
    source,_sep, target = item.partition "~"
    puts "  " << Misc.format_definition_list_item("source", source)
    puts "  " << Misc.format_definition_list_item("target", target)
    info.each do |key,value|
      puts "  " << Misc.format_definition_list_item(key, value)
    end
  end
end

Version data entries

154 entries across 154 versions & 1 rubygems

Version Path
rbbt-util-5.20.2 share/rbbt_commands/association/subset
rbbt-util-5.20.1 share/rbbt_commands/association/subset
rbbt-util-5.20.0 share/rbbt_commands/association/subset
rbbt-util-5.19.37 share/rbbt_commands/association/subset
rbbt-util-5.19.36 share/rbbt_commands/association/subset
rbbt-util-5.19.35 share/rbbt_commands/association/subset
rbbt-util-5.19.34 share/rbbt_commands/association/subset
rbbt-util-5.19.32 share/rbbt_commands/association/subset
rbbt-util-5.19.31 share/rbbt_commands/association/subset
rbbt-util-5.19.30 share/rbbt_commands/association/subset
rbbt-util-5.19.29 share/rbbt_commands/association/subset
rbbt-util-5.19.28 share/rbbt_commands/association/subset
rbbt-util-5.19.27 share/rbbt_commands/association/subset
rbbt-util-5.19.26 share/rbbt_commands/association/subset
rbbt-util-5.19.25 share/rbbt_commands/association/subset
rbbt-util-5.19.24 share/rbbt_commands/association/subset
rbbt-util-5.19.23 share/rbbt_commands/association/subset
rbbt-util-5.19.22 share/rbbt_commands/association/subset
rbbt-util-5.19.21 share/rbbt_commands/association/subset
rbbt-util-5.19.20 share/rbbt_commands/association/subset