lingo 1.8.3 → 1.8.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 1d421a91c70b5c7264e741720987a83fbfabf2a0
4
+ data.tar.gz: cd3ffe0052580f9f5272ed46e9d745331f208f1c
5
+ SHA512:
6
+ metadata.gz: 6db7cea54eac2afbf05403505826dde4007ef9734adfcf75667767e0743f37e24197240c78b2e55377758c6e38b00a8f32de43cfa3c066993a224c7e09c885f9
7
+ data.tar.gz: f55b0a26ed92b4a7f4362ee376fffb3d3dd7ae907467932a084cc0ab796ba4e06eaf9b4f9db90511592a4af27880c67c8da4c50812523f86699619b1f57f3399
data/ChangeLog CHANGED
@@ -1,5 +1,27 @@
1
+ # markup: rd
2
+
1
3
  = Revision history for Lingo
2
4
 
5
+ == 1.8.4 [2013-10-18]
6
+
7
+ * Attendee::Sequencer accepts regular expression patterns.
8
+ * Attendee::Sequencer substitutes +0+ in the format string for the matched
9
+ pattern.
10
+ * Attendee::NonewordFilter learned +dict+ option to print nonewords in
11
+ dictionary format.
12
+ * Added progress reporting to Attendee::TextReader for STDIN.
13
+ * <tt>lingoctl demo</tt> reports successful initialization.
14
+ * Russian localization for Lingo Web. (Yulia Dorokhova, Thomas Müller)
15
+ * Lingo Web learned parameter +hl+ to set UI language.
16
+ * Lingo Web displays the configuration in use.
17
+ * Lingo Srv accepts array of query strings in addition to single query string.
18
+ * Meeting config takes precedence over language config.
19
+ * When dictionary entries are rejected during conversion, the location of the
20
+ reject file will be shown.
21
+ * LIR record number defaults to match string in absence of capture group.
22
+ * Optionally prevent Lingo from sorting any results by setting the
23
+ +LINGO_NO_SORT+ environment variable.
24
+
3
25
  == 1.8.3 [2012-09-20]
4
26
 
5
27
  * Fixed regression introduced in 1.8.2 where reading input from STDIN was no
@@ -9,14 +31,14 @@
9
31
  * Fixed length limit handling for multibyte characters in SDBM store.
10
32
  * Fixed encoding issue in SDBM store.
11
33
  * Fixed issue with BOM in config files.
12
- * Modified character handling to accept *any* Unicode letter (_Alphabetical_)
34
+ * Modified character handling to accept *any* Unicode letter (_Alphabetic_)
13
35
  and digit (<i>Decimal Number</i>).
14
36
  * Modified Attendee::Tokenizer to use only hard-coded tokenization rules.
15
37
  * Modified Attendee::VectorFilter's +lexicals+ option to be case-sensitive.
16
38
  * Improved overall performance and memory usage; Attendee::Sequencer changed
17
39
  the order sequences are inserted into the stream.
18
40
  * Eliminated performance penalty caused by Attendee::Abbreviator.
19
- * Added Russian language support (Yulia Dorokhova, Thomas Müller).
41
+ * Added Russian language support. (Yulia Dorokhova, Thomas Müller)
20
42
  * Added +fields+ option to Attendee::TextReader to cut off field labels;
21
43
  defaults to +true+ in record (LIR) mode.
22
44
  * Added +skip+ option to Attendee::TextReader to skip lines matching the given
data/README CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  == VERSION
27
27
 
28
- This documentation refers to Lingo version 1.8.3
28
+ This documentation refers to Lingo version 1.8.4
29
29
 
30
30
 
31
31
  == DESCRIPTION
@@ -85,7 +85,7 @@ a file begins and when it ends. This can (and will) be an important piece of
85
85
  information for other attendees that will be added later.
86
86
 
87
87
  To try out Lingo's functionality without installing it first, have a look at
88
- {Lingo Web}[http://linux2.fbi.fh-koeln.de/lingoweb]. There you can enter some
88
+ {Lingo Web}[http://ixtrieve.fh-koeln.de/lingoweb]. There you can enter some
89
89
  text and see the debug output Lingo generated, including tokenization, word
90
90
  identification, decomposition, etc.
91
91
 
@@ -173,15 +173,21 @@ to run that command with administrator privileges, depending on your
173
173
  environment). Then you can call the +lingo+ executable to process your
174
174
  data. See <tt>lingo --help</tt> for starters.
175
175
 
176
- Please note that Lingo requires Ruby version 1.9 to run (1.9.2 or greater;
177
- 1.9.3[http://ruby-lang.org/en/downloads/] is the currently recommended
176
+ Please note that Lingo requires Ruby version 1.9.2 or higher to run
177
+ (2.0.0[http://ruby-lang.org/en/downloads/] is the currently recommended
178
178
  version). If you want to use Lingo on Ruby 1.8, please refer to the legacy
179
179
  version (see below).
180
180
 
181
+ Since Lingo depends on native extensions, you need to make sure that
182
+ development files for your Ruby version are installed. On Debian-based
183
+ Linux platforms they are included in the package <tt>ruby1.9.1-dev</tt>;
184
+ other distributions may have a similarly named package. On Windows those
185
+ development files are currently not required.
186
+
181
187
  Prior to version 1.8.0, Lingo expected to be run from its installation
182
188
  directory. This is no longer necessary. But if you prefer that use case,
183
189
  you can either download and extract an
184
- {archive file}[http://github.com/lex-lingo/lingo/tags] or unpack the
190
+ {archive file}[http://github.com/lex-lingo/lingo/releases] or unpack the
185
191
  Gem archive (<tt>gem unpack lingo</tt>); or you can install the legacy
186
192
  version of Lingo (see below).
187
193
 
@@ -224,8 +230,8 @@ the development efforts will be directed towards Lingo 1.8+.
224
230
 
225
231
  To install the legacy version, download and extract the ZIP archive from
226
232
  RubyForge[http://rubyforge.org/frs/?group_id=5663]. No additional dependencies
227
- are required. This version of Lingo works with both Ruby 1.8 (1.8.5 or greater)
228
- and 1.9 (1.9.2 or greater).
233
+ are required. This version of Lingo works with both Ruby 1.8 (1.8.5 or higher)
234
+ and 1.9 (1.9.2 or higher).
229
235
 
230
236
  The executable is named +lingo.rb+. It's located at the root of the installation
231
237
  directory and may only be run from there. See <tt>ruby lingo.rb -h</tt> for
@@ -285,7 +291,7 @@ the full test suite.
285
291
 
286
292
  <b></b>
287
293
  Website:: http://lex-lingo.de
288
- Demo:: http://linux2.fbi.fh-koeln.de/lingoweb
294
+ Demo:: http://ixtrieve.fh-koeln.de/lingoweb
289
295
  Documentation:: http://lex-lingo.github.com/lingo
290
296
  Source code:: http://github.com/lex-lingo/lingo
291
297
  RubyGem:: http://rubygems.org/gems/lingo
@@ -314,7 +320,7 @@ Lingo is based on a collective development by Klaus Lepsky and John Vorhauer.
314
320
  === Authors
315
321
 
316
322
  * John Vorhauer <mailto:lingo@vorhauer.de>
317
- * Jens Wille <mailto:jens.wille@uni-koeln.de>
323
+ * Jens Wille <mailto:jens.wille@gmail.com>
318
324
 
319
325
  === Contributors
320
326
 
@@ -327,7 +333,7 @@ Lingo is based on a collective development by Klaus Lepsky and John Vorhauer.
327
333
  == LICENSE AND COPYRIGHT
328
334
 
329
335
  Copyright (C) 2005-2007 John Vorhauer
330
- Copyright (C) 2007-2012 John Vorhauer, Jens Wille
336
+ Copyright (C) 2007-2013 John Vorhauer, Jens Wille
331
337
 
332
338
  Lingo is free software: you can redistribute it and/or modify it under the
333
339
  terms of the GNU Affero General Public License as published by the Free
data/Rakefile CHANGED
@@ -3,7 +3,7 @@
3
3
  __DIR__ = File.expand_path('..', __FILE__)
4
4
 
5
5
  require 'rake/clean'
6
- require 'nuggets/util/ruby'
6
+ require 'nuggets/ruby'
7
7
  require File.join(__DIR__, %w[lib lingo version])
8
8
 
9
9
  PACKAGE_NAME = 'lingo'
@@ -25,7 +25,8 @@ begin
25
25
  version: Lingo::VERSION,
26
26
  summary: 'The full-featured automatic indexing system',
27
27
  authors: ['John Vorhauer', 'Jens Wille'],
28
- email: ['lingo@vorhauer.de', 'jens.wille@uni-koeln.de'],
28
+ email: ['lingo@vorhauer.de', 'jens.wille@gmail.com'],
29
+ license: 'AGPL',
29
30
  homepage: 'http://lex-lingo.de',
30
31
  description: <<-EOT,
31
32
  Lingo is an open source indexing system for research and teachings.
@@ -43,10 +44,18 @@ The main functions of Lingo are:
43
44
  '{de,en,ru}.lang', '{de,en,ru}/{lingo-*,user-dic,test_*}.txt',
44
45
  'txt/{artikel{,-en,-ru},lir}.txt', 'lib/lingo/{srv,web}/**/*'
45
46
  ].to_a,
46
- required_ruby_version: '>= 1.9.2',
47
- dependencies: [['ruby-nuggets', '>= 0.8.5'],
48
- 'unicode', 'highline', 'sinatra'],
49
- development_dependencies: [['diff-lcs', '>= 1.1.3'], 'open4']
47
+ required_ruby_version: '>= 1.9.2',
48
+ dependencies: [
49
+ 'highline',
50
+ ['ruby-nuggets', '>= 0.9.2'],
51
+ 'sinatra',
52
+ 'sinatra-contrib',
53
+ 'unicode'
54
+ ],
55
+ development_dependencies: [
56
+ ['diff-lcs', '>= 1.1.3'],
57
+ 'open4'
58
+ ]
50
59
  }
51
60
  }}
52
61
  rescue LoadError => err
data/en/lingo-irr.txt CHANGED
@@ -6,14 +6,18 @@
6
6
  ate=eat #v
7
7
  awoke=awake #v
8
8
  awoken=awake #v
9
+ bade=bid #v
9
10
  beat=beat #v
10
11
  became=become #v
11
12
  become=become #v
13
+ been=be #v
12
14
  began=begin #v
13
15
  begun=begin #v
14
16
  bent=bend #v
15
17
  beset=beset #v
16
18
  bet=bet #v
19
+ bid=bid #v
20
+ bidden=bid #v
17
21
  bit=bite #v
18
22
  bitten=bite #v
19
23
  bled=bleed #v
@@ -29,6 +33,8 @@ broke=break #v
29
33
  broken=break #v
30
34
  brought=bring #v
31
35
  built=build #v
36
+ burned=burn #v
37
+ burnt=burn #v
32
38
  burst=burst #v
33
39
  came=come #v
34
40
  cast=cast #v
@@ -42,9 +48,13 @@ crept=creep #v
42
48
  cut=cut #v
43
49
  dealt=deal #v
44
50
  did=do #v
51
+ dived=dive #v
45
52
  done=do #v
53
+ dove=dive #v
46
54
  drank=drink #v
47
55
  drawn=draw #v
56
+ dreamed=dream #v
57
+ dreamt=dream #v
48
58
  drew=draw #v
49
59
  driven=drive #v
50
60
  drove=drive #v
@@ -62,6 +72,8 @@ flown=fly #v
62
72
  flung=fling #v
63
73
  forbade=forbid #v
64
74
  forbidden=forbid #v
75
+ foregone=forego #v
76
+ forewent=forego #v
65
77
  forgave=forgive #v
66
78
  forgiven=forgive #v
67
79
  forgot=forget #v
@@ -82,8 +94,8 @@ ground=grind #v
82
94
  grown=grow #v
83
95
  heard=hear #v
84
96
  held=hold #v
85
- hidden=hide #v
86
97
  hid=hide #v
98
+ hidden=hide #v
87
99
  hit=hit #v
88
100
  hung=hang #v
89
101
  hurt=hurt #v
@@ -95,16 +107,26 @@ know=know #v
95
107
  laid=lay #v
96
108
  lain=lie #v
97
109
  lay=lie #v
110
+ leaped=leap #v
111
+ learned=learn #v
112
+ learnt=learn #v
98
113
  led=lead #v
99
114
  left=leave #v
100
115
  lent=lend #v
116
+ lept=leap #v
101
117
  let=let #v
118
+ lighted=light #v
119
+ lit=light #v
102
120
  lost=lose #v
103
121
  made=make #v
104
122
  meant=mean #v
105
123
  met=meet #v
124
+ misspelled=misspell #v
125
+ misspelt=misspell #v
106
126
  mistaken=mistake #v
107
127
  mistook=mistake #v
128
+ mowed=mow #v
129
+ mown=mow #v
108
130
  overcame=overcome #v
109
131
  overcome=overcome #v
110
132
  overdid=overdo #v
@@ -115,33 +137,45 @@ overthrown=overthrow #v
115
137
  overtook=overtake #v
116
138
  paid=pay #v
117
139
  pled=plead #v
140
+ proved=prove #v
141
+ proven=prove #v
118
142
  put=put #v
119
143
  quit=quit #v
120
- rang=ring #v
121
144
  ran=run #v
145
+ rang=ring #v
122
146
  read=read #v
123
- ridden=ride #v
124
147
  rid=rid #v
148
+ ridden=ride #v
125
149
  risen=rise #v
126
150
  rode=ride #v
127
151
  rose=rise #v
128
- rung=ring #v
129
152
  run=run #v
153
+ rung=ring #v
130
154
  said=say #v
131
155
  sang=sing #v
132
156
  sank=sink #v
133
157
  sat=sit #v
134
158
  saw=see #v
159
+ sawed=saw #v
160
+ sawn=saw #v
135
161
  seen=see #v
136
162
  sent=send #v
137
163
  set=set #v
164
+ sewed=sew #v
165
+ sewn=sew #v
138
166
  shaken=shake #v
167
+ shaved=shave #v
168
+ shaven=shave #v
139
169
  shed=shed #v
170
+ shod=shoe #v
171
+ shoed=shoe #v
140
172
  shone=shine #v
141
173
  shook=shake #v
142
174
  shore=shear #v
143
175
  shorn=shear #v
144
176
  shot=shoot #v
177
+ showed=show #v
178
+ shown=show #v
145
179
  shrank=shrink #v
146
180
  shrunk=shrink #v
147
181
  shut=shut #v
@@ -155,16 +189,24 @@ smitten=smite #v
155
189
  smote=smite #v
156
190
  sold=sell #v
157
191
  sought=seek #v
192
+ sowed=sow #v
193
+ sown=sow #v
194
+ spat=spit #v
158
195
  sped=speed #v
159
196
  spent=spend #v
197
+ spilled=spill #v
198
+ spilt=spill #v
199
+ spit=spit #v
160
200
  split=split #v
161
- spoken=speak #v
162
201
  spoke=speak #v
202
+ spoken=speak #v
203
+ sprang=spring #v
163
204
  spread=spread #v
205
+ sprung=spring #v
164
206
  spun=spin #v
165
207
  stank=stink #v
166
- stolen=steal #v
167
208
  stole=steal #v
209
+ stolen=steal #v
168
210
  stood=stand #v
169
211
  stridden=stride #v
170
212
  striven=strive #v
@@ -178,7 +220,9 @@ stunk=stink #v
178
220
  sung=sing #v
179
221
  sunk=sink #v
180
222
  swam=swim #v
223
+ swelled=swell #v
181
224
  swept=sweep #v
225
+ swollen=swell #v
182
226
  swore=swear #v
183
227
  sworn=swear #v
184
228
  swum=swim #v
@@ -187,80 +231,36 @@ taken=take #v
187
231
  taught=teach #v
188
232
  thought=think #v
189
233
  threw=throw #v
234
+ thrived=thrive #v
235
+ thriven=thrive #v
236
+ throve=thrive #v
190
237
  thrown=throw #v
191
238
  thrust=thrust #v
192
239
  told=tell #v
193
240
  took=take #v
194
241
  tore=tear #v
195
242
  torn=tear #v
196
- trodden=tread #v
197
243
  trod=tread #v
244
+ trodden=tread #v
198
245
  understood=understand #v
199
246
  upheld=uphold #v
200
247
  upset=upset #v
248
+ was=be #v
249
+ weaved=weave #v
201
250
  wed=wed #v
202
251
  went=go #v
203
252
  wept=weep #v
253
+ were=be #v
204
254
  withheld=withhold #v
205
255
  withstood=withstand #v
206
- woken=wake #v
207
256
  woke=wake #v
257
+ woken=wake #v
208
258
  won=win #v
209
259
  wore=wear #v
210
260
  worn=wear #v
211
261
  wound=wind #v
262
+ wove=weave #v
263
+ woven=weave #v
212
264
  written=write #v
213
265
  wrote=write #v
214
266
  wrung=wring #v
215
- bade=bid #v
216
- been=be #v
217
- bid=bid #v
218
- bidden=bid #v
219
- burned=burn #v
220
- burnt=burn #v
221
- dived=dive #v
222
- dove=dive #v
223
- dreamed=dream #v
224
- dreamt=dream #v
225
- foregone=forego #v
226
- forewent=forego #v
227
- leaped=leap #v
228
- learned=learn #v
229
- learnt=learn #v
230
- lept=leap #v
231
- lighted=light #v
232
- lit=light #v
233
- misspelled=misspell #v
234
- misspelt=misspell #v
235
- mowed=mow #v
236
- mown=mow #v
237
- proved=prove #v
238
- proven=prove #v
239
- sawed=saw #v
240
- sawn=saw #v
241
- sewed=sew #v
242
- sewn=sew #v
243
- shaved=shave #v
244
- shaven=shave #v
245
- shod=shoe #v
246
- shoed=shoe #v
247
- showed=show #v
248
- shown=show #v
249
- sowed=sow #v
250
- sown=sow #v
251
- spat=spit #v
252
- spilled=spill #v
253
- spilt=spill #v
254
- spit=spit #v
255
- sprang=spring #v
256
- sprung=spring #v
257
- swelled=swell #v
258
- swollen=swell #v
259
- thrived=thrive #v
260
- thriven=thrive #v
261
- throve=thrive #v
262
- was=be #v
263
- weaved=weave #v
264
- were=be #v
265
- woven=weave #v
266
- wove=weave #v
data/lib/lingo.rb CHANGED
@@ -65,6 +65,14 @@ class Lingo
65
65
 
66
66
  class << self
67
67
 
68
+ if ENV['LINGO_NO_SORT']
69
+ def sort!(x) x end
70
+ def sort(x) x.dup end
71
+ else
72
+ def sort!(x) x.sort! end
73
+ def sort(x) x.sort end
74
+ end
75
+
68
76
  def talk(*args)
69
77
  new(*args).talk
70
78
  end
@@ -271,8 +279,10 @@ class Lingo
271
279
  last_link, auto_link = '', 0
272
280
 
273
281
  list.each { |hash|
274
- # {'attendee' => {'name'=>'Attendee', 'in'=>'nase', 'out'=>'ohr', 'param'=>'hase'}}
275
- cfg = hash.values.first.merge('name' => name = hash.keys.first.camelcase)
282
+ name = hash.keys.first.camelcase
283
+
284
+ cfg = (config["language/attendees/#{name.downcase}"] || {})
285
+ .merge(hash.values.first).update('name' => name)
276
286
 
277
287
  %w[in out].each { |key| (cfg[key] ||= '').downcase! }
278
288
 
@@ -280,8 +290,6 @@ class Lingo
280
290
  cfg['out'] = "auto_link-#{auto_link += 1}" if cfg['out'].empty?
281
291
  last_link = cfg['out']
282
292
 
283
- cfg.update(config["language/attendees/#{name.downcase}"] || {})
284
-
285
293
  @attendees << attendee = Attendee.const_get(name).new(cfg, self)
286
294
 
287
295
  { 'in' => subscriber, 'out' => supplier }.each { |key, target|
@@ -325,5 +333,5 @@ require_relative 'lingo/language'
325
333
  require_relative 'lingo/attendee'
326
334
  require_relative 'lingo/version'
327
335
 
328
- require 'nuggets/util/pluggable'
329
- Util::Pluggable.load_plugins_for(Lingo)
336
+ require 'nuggets/pluggable'
337
+ Nuggets::Pluggable.load_plugins_for(Lingo)