Top Level Namespace
Defined Under Namespace
Modules: Lumix
Classes: AddFulltagged, Categories, ConfigStruct, CreateLookupTables, CreateTables, Pool, String, TaggedText, TextProcessing
Constant Summary
collapse
- Texts =
{:search => "Searching...", :read => "Importing files", :link => "Linking texts"}
- Indicator =
%w'} ) ] | [ ( {'
- CONF =
'config.yaml'
- CConfig =
YAML.load_file(CONF) rescue ConfigStruct.new('jdbc:postgresql://localhost:5432/concordancer?user=concordancer&password=concordancer')
- CORRECTIONS =
"catre | S\nfetite | NPRN\nin | S\nsi | C\ncirca | R\nfata de| S\nmaxima | ASON\ninainte| R\nin materie de | R\ntin | V3\nbeneficiaza | V3\n: | COLON\nocupa | VN\nasigurata | VPSF\nmine | PPSA\nbatut | VPSM\ninsa | C\nimpotriva | S\namericana | ASN\ncaruia | R\nda | VN\nduce| VN\nprimeasca | V3\ndaca | C\nbulgara | ASN\nramina | V3\nalbaneza | ASN\npina | S\nparaseasca | V3\npublica | ASN\ninceapa | V3\necologic | ASN\ninternationala | ASN\necologista | ASN\ncada | V3\nlinga | S\nadevaratele | APRY\ncitiva | PI\namericana | ASN\nMiclici| NP\nfara | S\ncit | PI\nsugereaza | V3\nincasa | VN\ncirca | R\nghiceste | V3\ntarile |NPRY\naraba | ASN\nciteva | PI\nschimbindu | VG\ndupa | S\nuleiurilor_vegetale | NPOY\nbotosaneana | ASN\noricarui | PI\n"
Constants included
from Lumix
Lumix::DB_VERSION, Lumix::RELINK, Lumix::S_BEGIN, Lumix::S_END, Lumix::SearchStrategy, Lumix::TEXT_ID, Lumix::T_BEGIN, Lumix::T_END, Lumix::WORKERS
Instance Method Summary
collapse
Methods included from Lumix
#conc, #create_concordancer, #import_files, #link, #reconnect, #relink, #simulate_link, #to_filename
Instance Method Details
#correct(t) ⇒ Object
68
69
70
71
72
|
# File 'lib/lumix/corrections.rb', line 68
def correct(t)
corrections.inject(t) do |result, (re, sub)|
result.gsub(re, sub)
end
end
|
#correct_all(path) ⇒ Object
74
75
76
77
78
79
80
|
# File 'lib/lumix/corrections.rb', line 74
def correct_all(path)
fs = Dir.glob(File.join(path, '*tagged*'))
fs.each do |fn|
t = correct(File.read(fn))
File.open(fn, 'w') { |f| f.print t }
end
end
|
#corrections ⇒ Object
60
61
62
63
64
65
66
|
# File 'lib/lumix/corrections.rb', line 60
def corrections
@corrections ||= CORRECTIONS.split(/\n/).map do |line|
word, tag = line.split(/\|/).map(&:strip)
puts "Tagging #{word} as #{tag}"
[/\b#{word}\|\S+/, "#{word}\|#{tag}"]
end
end
|
#create_findings_file(filter, filename = to_filename(filter), &block) ⇒ Object
33
34
35
36
37
38
39
|
# File 'lib/lumix/cli.rb', line 33
def create_findings_file(filter, filename = to_filename(filter), &block)
if File.exists?(filename)
puts "File #{filename} already exists! Ignoring."
else
File.open(filename, 'w', &block)
end
end
|
#help ⇒ Object
5
6
7
8
9
10
|
# File 'lib/lumix/cli.rb', line 5
def help
puts "lumix-cli import <en|ro> <path>"
puts "lumix-cli [search] 'search string' ..."
puts "lumix-cli relink"
exit
end
|
#import!(lang, *files) ⇒ Object
46
47
48
49
|
# File 'lib/lumix/cli.rb', line 46
def import!(lang, *files)
conc.link_on_import!
import_files(lang, *files)
end
|
#save! ⇒ Object
14
15
16
17
18
|
# File 'lib/lumix/gui.rb', line 14
def save!
File.open(CONF, 'w') do |f|
f.write(CConfig.to_yaml)
end
end
|
#search(*filters) ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/lumix/cli.rb', line 12
def search(*filters)
files = []
fs = filters.map do |filt|
file = create_findings_file(filt)
next unless file
files << file
conc.create_filter(filt) do |text, tagged|
file.puts "#{text.name}: #{text.left} | #{tagged.to_s} | #{text.right}"
end
end.compact
conc.find(fs) unless fs.empty?
fs.each do |f|
puts "Found #{f.results == 0 ? 'no' : f.results} matches for #{f.filter}"
end
ensure
files.each{ |f| f.close }
end
|
#tag(lang, *files) ⇒ Object
41
42
43
44
|
# File 'lib/lumix/cli.rb', line 41
def tag(lang, file)
conc.tp.lang = lang
puts conc.tp.process(File.read(file))
end
|