philologic-client 0.0.9 → 0.0.10
Sign up to get free protection for your applications and to get access to all the features.
- data/HISTORY.rdoc +6 -0
- data/README.rdoc +16 -3
- data/lib/philologic-client.rb +102 -42
- data/lib/philologic-client/version.rb +1 -1
- data/test/data/collocation_links.html +145 -0
- data/test/data/collocation_sartre.html +67 -0
- data/test/data/frequency_sartre.html +1 -1
- data/test/test_philologic_client.rb +180 -30
- metadata +20 -16
data/HISTORY.rdoc
CHANGED
data/README.rdoc
CHANGED
@@ -15,21 +15,34 @@
|
|
15
15
|
html = doc.html
|
16
16
|
txt = doc.text
|
17
17
|
|
18
|
-
|
18
|
+
|
19
|
+
# Simple (concordance) search
|
19
20
|
client.search('sartre').each { |result| puts result }
|
20
21
|
|
21
22
|
# Search by arbitrary key-value pairs
|
22
23
|
client.search( :query => 'sartre', :foo => 1 ).each { |result| puts result }
|
23
24
|
|
25
|
+
|
26
|
+
# Simple collocation table search.
|
27
|
+
client.collocation('sartre').each { |result| puts result }
|
28
|
+
|
29
|
+
# Collocation table search by arbitrary key-value pairs
|
30
|
+
client.collocation( :query => 'sartre', :foo => 1 ).each { |result| puts result }
|
31
|
+
|
32
|
+
# Links for first result in collocation table search
|
33
|
+
client.collocation('sartre').first.links.each { |link| puts link }
|
34
|
+
|
35
|
+
|
24
36
|
# Simple frequency table search.
|
25
37
|
client.frequency('sartre').each { |result| puts result }
|
26
38
|
|
27
|
-
# Frequency search by arbitrary key-value pairs
|
39
|
+
# Frequency table search by arbitrary key-value pairs
|
28
40
|
client.frequency( :query => 'sartre', :foo => 1 ).each { |result| puts result }
|
29
41
|
|
30
42
|
# Links for first result in frequency table search
|
31
43
|
client.frequency('sartre').first.links.each { |link| puts link }
|
32
44
|
|
45
|
+
|
33
46
|
# Get/Set encoding
|
34
47
|
encoding = client.encoding
|
35
48
|
client.encoding = 'utf-8' # Default
|
@@ -58,6 +71,6 @@ https://github.com/blairc/philologic-client/
|
|
58
71
|
* Add collocation table searching
|
59
72
|
* Add +children+ to Philologic::Document
|
60
73
|
* Add +parent+ to Philologic::Document
|
61
|
-
* Unify (as much as possible) Philologic::Document, Philologic::
|
74
|
+
* Unify (as much as possible) Philologic::Document, Philologic::Link, Philologic::TableRow
|
62
75
|
* Cache results?
|
63
76
|
|
data/lib/philologic-client.rb
CHANGED
@@ -23,21 +23,34 @@ require 'open-uri'
|
|
23
23
|
# html = doc.html
|
24
24
|
# txt = doc.text
|
25
25
|
#
|
26
|
-
#
|
26
|
+
#
|
27
|
+
# # Simple (concordance) search
|
27
28
|
# client.search('sartre').each { |result| puts result }
|
28
29
|
#
|
29
30
|
# # Search by arbitrary key-value pairs
|
30
31
|
# client.search( :query => 'sartre', :foo => 1 ).each { |result| puts result }
|
31
32
|
#
|
33
|
+
#
|
34
|
+
# # Simple collocation table search.
|
35
|
+
# client.collocation('sartre').each { |result| puts result }
|
36
|
+
#
|
37
|
+
# # Collocation table search by arbitrary key-value pairs
|
38
|
+
# client.collocation( :query => 'sartre', :foo => 1 ).each { |result| puts result }
|
39
|
+
#
|
40
|
+
# # Links for first result in collocation table search
|
41
|
+
# client.collocation('sartre').first.links.each { |link| puts link }
|
42
|
+
#
|
43
|
+
#
|
32
44
|
# # Simple frequency table search.
|
33
45
|
# client.frequency('sartre').each { |result| puts result }
|
34
46
|
#
|
35
|
-
# # Frequency search by arbitrary key-value pairs
|
47
|
+
# # Frequency table search by arbitrary key-value pairs
|
36
48
|
# client.frequency( :query => 'sartre', :foo => 1 ).each { |result| puts result }
|
37
49
|
#
|
38
50
|
# # Links for first result in frequency table search
|
39
51
|
# client.frequency('sartre').first.links.each { |link| puts link }
|
40
52
|
#
|
53
|
+
#
|
41
54
|
# # Get/Set encoding
|
42
55
|
# encoding = client.encoding
|
43
56
|
# client.encoding = 'utf-8' # Default
|
@@ -66,7 +79,7 @@ require 'open-uri'
|
|
66
79
|
# * Add collocation table searching
|
67
80
|
# * Add +children+ to Philologic::Document
|
68
81
|
# * Add +parent+ to Philologic::Document
|
69
|
-
# * Unify (as much as possible) Philologic::Document, Philologic::
|
82
|
+
# * Unify (as much as possible) Philologic::Document, Philologic::Link, Philologic::TableRow
|
70
83
|
# * Cache results?
|
71
84
|
#
|
72
85
|
module Philologic # :nodoc:
|
@@ -115,6 +128,21 @@ module Philologic # :nodoc:
|
|
115
128
|
return doc.kind_of?(Array) ? doc : nil
|
116
129
|
end
|
117
130
|
|
131
|
+
#
|
132
|
+
# Return +Array+ of Philologic::TableRow objects.
|
133
|
+
#
|
134
|
+
# *NOTE:* Currently only returns the first page of results by default.
|
135
|
+
#
|
136
|
+
# Params:
|
137
|
+
# +query+:: Search for this query +String+ or +Hash+ key-value pairs.
|
138
|
+
#
|
139
|
+
def collocation(query)
|
140
|
+
raise('no query specified') if ( query.nil? || !( [ Hash, String ].include?( query.class ) )) || query.empty?
|
141
|
+
defaults = { :report => 'frequency', :field => 'collocates' }
|
142
|
+
doc = search( query.kind_of?(String) ? defaults.merge(:query => query) : defaults.merge(query) )
|
143
|
+
return doc.kind_of?(Array) ? doc : nil
|
144
|
+
end
|
145
|
+
|
118
146
|
#
|
119
147
|
# Return Philologic::Document object or +nil+.
|
120
148
|
#
|
@@ -127,7 +155,7 @@ module Philologic # :nodoc:
|
|
127
155
|
end
|
128
156
|
|
129
157
|
#
|
130
|
-
# Return +Array+ of
|
158
|
+
# Return +Array+ of Philologic::TableRow objects.
|
131
159
|
#
|
132
160
|
# *NOTE:* Currently only returns the first page of results by default.
|
133
161
|
#
|
@@ -196,10 +224,10 @@ module Philologic # :nodoc:
|
|
196
224
|
return Philologic::Document.new( doc.css('div.philologic_object').first )
|
197
225
|
elsif !doc.css('table.philologic_frequency').first.nil?
|
198
226
|
results = []
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
227
|
+
# Results are keyed off of this field.
|
228
|
+
field = doc.css('table.philologic_frequency').first.attributes['title'].value
|
229
|
+
doc.css('table.philologic_frequency').css('tr.philologic_frequency_row').each do |row|
|
230
|
+
results << Philologic::TableRow.new(self, field, row)
|
203
231
|
end
|
204
232
|
return results
|
205
233
|
# TODO else
|
@@ -260,12 +288,12 @@ module Philologic # :nodoc:
|
|
260
288
|
|
261
289
|
|
262
290
|
#
|
263
|
-
# Philologic
|
291
|
+
# Philologic link.
|
264
292
|
#
|
265
|
-
class
|
293
|
+
class Link
|
266
294
|
|
267
295
|
#
|
268
|
-
# Initialize Philologic::
|
296
|
+
# Initialize Philologic::Link object.
|
269
297
|
#
|
270
298
|
# Params:
|
271
299
|
# +client+:: Philologic::Client object
|
@@ -274,84 +302,116 @@ module Philologic # :nodoc:
|
|
274
302
|
def initialize(client, document)
|
275
303
|
@client = client
|
276
304
|
@doc = document
|
305
|
+
# TODO Prefer lazy initialization?
|
306
|
+
@properties = {}
|
307
|
+
@doc.css('span.philologic_property').each do |span|
|
308
|
+
@properties[ span.attributes['title'].value ] = span.children.text
|
309
|
+
end
|
277
310
|
end
|
278
311
|
|
279
312
|
#
|
280
313
|
# Returns value of attribute +key+ or +nil+.
|
281
314
|
#
|
282
315
|
def [](key)
|
283
|
-
@doc.attributes.key?(key) ? @doc.attributes[key].value :
|
284
|
-
end
|
285
|
-
|
286
|
-
#
|
287
|
-
# Returns Philologic::Link objects referenced by this Philologic::Key object.
|
288
|
-
#
|
289
|
-
def links
|
290
|
-
q = self['href'].sub( %r{^\./\?}, '' ).split('&')
|
291
|
-
@client.search( Hash[ *q.collect { |v| v.split('=', 2) }.flatten ] )
|
316
|
+
@doc.attributes.key?(key) ? @doc.attributes[key].value : @properties[key]
|
292
317
|
end
|
293
318
|
|
294
319
|
#
|
295
|
-
# Returns
|
320
|
+
# Returns Philologic::Document referenced by this Philologic::Link object.
|
296
321
|
#
|
297
|
-
def
|
298
|
-
@
|
299
|
-
@text
|
322
|
+
def document
|
323
|
+
@client.document( self['href'] )
|
300
324
|
end
|
301
325
|
|
302
326
|
#
|
303
327
|
# Return String representation of object.
|
304
328
|
#
|
305
329
|
def to_s
|
306
|
-
[ self['href'], self
|
330
|
+
[ self['href'], self['title'], self['author'] ].join(' | ')
|
307
331
|
end
|
308
332
|
|
309
|
-
end # class Philologic::
|
333
|
+
end # class Philologic::Link
|
310
334
|
|
311
335
|
|
312
336
|
#
|
313
|
-
# Philologic
|
337
|
+
# Philologic table row.
|
314
338
|
#
|
315
|
-
class
|
339
|
+
class TableRow
|
316
340
|
|
317
341
|
#
|
318
|
-
#
|
342
|
+
# Get +count+
|
343
|
+
#
|
344
|
+
attr_reader :count
|
345
|
+
|
346
|
+
#
|
347
|
+
# Get +field+
|
348
|
+
#
|
349
|
+
attr_reader :field
|
350
|
+
|
351
|
+
#
|
352
|
+
# Get +href+
|
353
|
+
#
|
354
|
+
attr_reader :href
|
355
|
+
|
356
|
+
#
|
357
|
+
# Get +text+
|
358
|
+
#
|
359
|
+
attr_reader :text
|
360
|
+
|
361
|
+
|
362
|
+
#
|
363
|
+
# Initialize Philologic::TableRow object.
|
319
364
|
#
|
320
365
|
# Params:
|
321
366
|
# +client+:: Philologic::Client object
|
367
|
+
# +field+:: Row is keyed off of this field
|
322
368
|
# +document+:: Nokogiri document
|
323
369
|
#
|
324
|
-
def initialize(client, document)
|
325
|
-
@client
|
326
|
-
@
|
327
|
-
|
328
|
-
|
329
|
-
@doc.css('
|
330
|
-
|
370
|
+
def initialize(client, field, document)
|
371
|
+
@client = client
|
372
|
+
@field = field
|
373
|
+
@doc = document
|
374
|
+
|
375
|
+
@doc.css('td.philologic_frequency_key').each do |key|
|
376
|
+
key.css('a').each do |a|
|
377
|
+
@href = a.attributes['href'].value
|
378
|
+
@text = a.text.lstrip.rstrip
|
379
|
+
break
|
380
|
+
end
|
381
|
+
end
|
382
|
+
raise('invalid TableRow - no href') unless @href
|
383
|
+
raise('invalid TableRow - no text') unless @text
|
384
|
+
|
385
|
+
@doc.css('td.philologic_frequency_value').each do |value|
|
386
|
+
@count = value.text.to_i
|
387
|
+
break
|
331
388
|
end
|
389
|
+
raise('invalid TableRow - no count') unless @count
|
390
|
+
|
332
391
|
end
|
333
392
|
|
334
393
|
#
|
335
394
|
# Returns value of attribute +key+ or +nil+.
|
336
395
|
#
|
337
396
|
def [](key)
|
338
|
-
@doc.attributes.key?(key) ? @doc.attributes[key].value :
|
397
|
+
@doc.attributes.key?(key) ? @doc.attributes[key].value : nil
|
339
398
|
end
|
340
399
|
|
341
400
|
#
|
342
|
-
# Returns Philologic::
|
401
|
+
# Returns Philologic::Link objects referenced by this Philologic::TableRow object.
|
343
402
|
#
|
344
|
-
def
|
345
|
-
@
|
403
|
+
def links
|
404
|
+
q = @href.sub( %r{^\./\?}, '' ).split('&')
|
405
|
+
@client.search( Hash[ *q.collect { |v| v.split('=', 2) }.flatten ] )
|
346
406
|
end
|
347
407
|
|
348
408
|
#
|
349
409
|
# Return String representation of object.
|
350
410
|
#
|
351
411
|
def to_s
|
352
|
-
[
|
412
|
+
[ @field, @count, @text ].join(' | ')
|
353
413
|
end
|
354
414
|
|
355
|
-
end # class Philologic::
|
415
|
+
end # class Philologic::TableRow
|
356
416
|
|
357
417
|
end # module Philologic
|
@@ -0,0 +1,145 @@
|
|
1
|
+
<html><head><title>TLFsorted: search for sartre</title></head><body><div class='philologic_concordance'><p class='description'>running query for sartre @ TLFsorted with arg 0. displaying 1 - 48 of 48 hits.</p><ol start='1'><li class='philologic_occurence'>
|
2
|
+
<a class='philologic_cite' href='./1839/3/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
3
|
+
... qui se destinait à la psychiatrie. À la surprise générale, Jean-Paul <span class="hilite">Sartre</span> avait échoué à l'écrit. Le concours me parut difficile, mais je ne perdis pas co...</li>
|
4
|
+
<li class='philologic_occurence'>
|
5
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
6
|
+
...ades. Je les connaissais presque tous. Seul me demeurait hermétique le clan formé par <span class="hilite">Sartre</span>, Nizan et Herbaud; ils ne frayaient avec personne; ils n'assistaient q...</li>
|
7
|
+
<li class='philologic_occurence'>
|
8
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
9
|
+
...lf et derrière ses grosses lunettes d'écaille je lui trouvais un regard très intimidant. <span class="hilite">Sartre</span> n'avait pas une mauvaise tête, mais on disait qu'il était le plus terrible des trois e...</li>
|
10
|
+
<li class='philologic_occurence'>
|
11
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
12
|
+
...me paraissait accessible: Herbaud. Il était marié lui aussi. En compagnie de <span class="hilite">Sartre</span> et de Nizan, il m'ignorait. Quand je le rencontrais seul, nous échangions ...</li>
|
13
|
+
<li class='philologic_occurence'>
|
14
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
15
|
+
...existerais jamais. Un après-midi, je l'avais aperçu rue Soufflot, accompagné de <span class="hilite">Sartre</span> et de Nizan, et donnant le bras à une femme en gris: je m'étais sentie exclue...</li>
|
16
|
+
<li class='philologic_occurence'>
|
17
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
18
|
+
...t il était monté à Paris pour préparer normale. Il avait connu en hypo-khâgne <span class="hilite">Sartre</span> et Nizan et il me parla beaucoup d'eux; il admirait Nizan, pour sa dis...</li>
|
19
|
+
<li class='philologic_occurence'>
|
20
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
21
|
+
...; il admirait Nizan, pour sa distinction désinvolte, mais il était surtout lié avec <span class="hilite">Sartre</span> qu'il disait prodigieusement intéressant. Nos autres condisciples, il les méprisai...</li>
|
22
|
+
<li class='philologic_occurence'>
|
23
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
24
|
+
...ditais ainsi sur mon destin, j'aperçus Herbaud qui longeait le bassin en compagnie de <span class="hilite">Sartre</span>: il me vit, et il m'ignora. Mystère et mensonge des journaux intimes: je ne mention...</li>
|
25
|
+
<li class='philologic_occurence'>
|
26
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
27
|
+
... la Sorbonne. Vêtu d'un costume d'été beige clair, il était assis à côté de <span class="hilite">Sartre</span> sur le rebord d'une fenêtre. Il me tendit la main, dans un long geste affectueux, e...</li>
|
28
|
+
<li class='philologic_occurence'>
|
29
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
30
|
+
...r en faisant allusion à notre rencontre, au Luxembourg; il aurait aimé me présenter <span class="hilite">Sartre</span>, "mais si je ne respecte pas les ruminations de Clairaut, dit-il, je ne me perm...</li>
|
31
|
+
<li class='philologic_occurence'>
|
32
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
33
|
+
... Il me remit, de la part de <span class="hilite">Sartre</span>, un dessin que celui-ci m'avait dédié et qui représentait: Leibniz au bai...</li>
|
34
|
+
<li class='philologic_occurence'>
|
35
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
36
|
+
...cosmologie eugénique", inventée à partir du potomak, et à laquelle il avait rallié <span class="hilite">Sartre</span> et Nizan; tous trois appartenaient à la plus haute caste, celle des eugènes, ...</li>
|
37
|
+
<li class='philologic_occurence'>
|
38
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
39
|
+
...le est très bien d'ailleurs votre voix, mais elle est rauque. Elle nous divertit beaucoup, <span class="hilite">Sartre</span> et moi." Je découvris que j'avais une démarche, une voix: c'était nouveau. J...</li>
|
40
|
+
<li class='philologic_occurence'>
|
41
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
42
|
+
...reuves; puis il comptait quitter Paris, et à son retour il préparerait son oral avec <span class="hilite">Sartre</span> et Nizan. Finies, nos rencontres à la nationale: comme j'allais les regret...</li>
|
43
|
+
<li class='philologic_occurence'>
|
44
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
45
|
+
...Orne; à son retour, dans une dizaine de jours, il préparerait l'oral du concours avec <span class="hilite">Sartre</span> et Nizan qui m'invitaient cordialement à me joindre à eux. D'ici là, ...</li>
|
46
|
+
<li class='philologic_occurence'>
|
47
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
48
|
+
...artre et Nizan qui m'invitaient cordialement à me joindre à eux. D'ici là, <span class="hilite">Sartre</span> voulait faire ma connaissance: il me proposait un rendez-vous pour un soir prochain. ...</li>
|
49
|
+
<li class='philologic_occurence'>
|
50
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
51
|
+
... Mais Herbaud me demanda de ne pas y aller: <span class="hilite">Sartre</span> profiterait de son absence pour m'accaparer." Je ne veux pas qu'on touche à mes pl...</li>
|
52
|
+
<li class='philologic_occurence'>
|
53
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
54
|
+
...nts " me dit Herbaud d'un ton complice. Nous décidâmes que ma soeur retrouverait <span class="hilite">Sartre</span> à l'heure et à l'endroit prévus; elle lui dirait que j'étais partie brusquement pour...</li>
|
55
|
+
<li class='philologic_occurence'>
|
56
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
57
|
+
... je flânai, je me donnai du bon temps. Pendant la soirée que Poupette passa avec <span class="hilite">Sartre</span>, je récapitulai joyeusement l'année qui venait de s'écouler, et toute ma jeunesse; je...</li>
|
58
|
+
<li class='philologic_occurence'>
|
59
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
60
|
+
...ent en ce monde. Quand ma soeur rentra, elle me félicita d'être restée à la maison. <span class="hilite">Sartre</span> avait courtoisement encaissé notre mensonge; il l'avait emmenée au cinéma et s'était...</li>
|
61
|
+
<li class='philologic_occurence'>
|
62
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
63
|
+
...tait montré très aimable; mais la conversation avait chômé." Tout ce qu'il raconte de <span class="hilite">Sartre</span>, Herbaud l'invente lui-même " me dit ma soeur qui connaissait un peu Herba...</li>
|
64
|
+
<li class='philologic_occurence'>
|
65
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
66
|
+
...travailler Leibniz. J'étais un peu effarouchée quand j'entrai dans la chambre de <span class="hilite">Sartre</span>; il y avait un grand désordre de livres et de papiers, des mégots dans tous les coins,...</li>
|
67
|
+
<li class='philologic_occurence'>
|
68
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
69
|
+
...and désordre de livres et de papiers, des mégots dans tous les coins, une énorme fumée. <span class="hilite">Sartre</span> m'accueillit mondainement; il fumait la pipe. Silencieux, une cigarette collée au c...</li>
|
70
|
+
<li class='philologic_occurence'>
|
71
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
72
|
+
...elai. Leibniz nous ennuyait et il fut décidé que nous le connaissions assez. <span class="hilite">Sartre</span> se chargea de nous expliquer le contrat social, sur lequel il avait des lumière...</li>
|
73
|
+
<li class='philologic_occurence'>
|
74
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
75
|
+
...ement Herbaud tandis que Nizan contemplait ses ongles d'un air absorbé; mais <span class="hilite">Sartre</span> avait toujours le dessus. Impossible de lui en vouloir: il se mettait en quatre pour...</li>
|
76
|
+
<li class='philologic_occurence'>
|
77
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
78
|
+
... turnes de l'école normale, je grimpai rituellement sur les toits. Pendant ces promenades, <span class="hilite">Sartre</span> et Herbaud chantaient à pleine ...</li>
|
79
|
+
<li class='philologic_occurence'>
|
80
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
81
|
+
... titre d'un chapitre de Descartes: "de Dieu. Derechef qu'il existe." <span class="hilite">Sartre</span> avait une belle voix et un vaste répertoire: old man river et tous les airs de ...</li>
|
82
|
+
<li class='philologic_occurence'>
|
83
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
84
|
+
... De Beauvoir." "Bien, bien", fit Nizan d'un ton sardonique, et <span class="hilite">Sartre</span> dit: "soit " avec bonhomie. Herbaud était morose, ce jour-là, parce qu'il...</li>
|
85
|
+
<li class='philologic_occurence'>
|
86
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
87
|
+
...de Michel-Ange. Puis il me parla des différences qui le distinguaient de <span class="hilite">Sartre</span> et de Nizan. Il se donnait sans arrière-pensée aux joies de ce monde: les...</li>
|
88
|
+
<li class='philologic_occurence'>
|
89
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
90
|
+
...nature, les voyages, les intrigues et les plaisirs." Eux, ils veulent toujours comprendre; <span class="hilite">Sartre</span> surtout " me dit-il. Il ajouta sur un ton de frayeur admirative: "Sartre, s...</li>
|
91
|
+
<li class='philologic_occurence'>
|
92
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
93
|
+
...mprendre; Sartre surtout " me dit-il. Il ajouta sur un ton de frayeur admirative: "<span class="hilite">Sartre</span>, sauf peut-être quand il dort, il pense tout le temps! " Il accepta que Sartre...</li>
|
94
|
+
<li class='philologic_occurence'>
|
95
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
96
|
+
...: "Sartre, sauf peut-être quand il dort, il pense tout le temps! " Il accepta que <span class="hilite">Sartre</span> passât avec nous la soirée du 14 juillet. Après un dîner dans un restaurant alsa...</li>
|
97
|
+
<li class='philologic_occurence'>
|
98
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
99
|
+
...urant alsacien, nous regardâmes le feu d'artifice, assis sur une pelouse de la cité. Puis <span class="hilite">Sartre</span>, dont la munificence était légendaire, nous embarqua dans un taxi, et, au falstaff, ru...</li>
|
100
|
+
<li class='philologic_occurence'>
|
101
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
102
|
+
...ontaient un tas d'histoires. J'étais aux anges. Ma soeur s'était trompée: je trouvai <span class="hilite">Sartre</span> encore plus amusant qu'Herbaud; néanmoins, nous convînmes tous trois que celu...</li>
|
103
|
+
<li class='philologic_occurence'>
|
104
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
105
|
+
...Je vous aime vraiment beaucoup, Castor " me disait-il. Comme je devais dîner avec <span class="hilite">Sartre</span> chez les Nizan, et qu'il n'était pas libre, il me demanda avec une tendre auto...</li>
|
106
|
+
<li class='philologic_occurence'>
|
107
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
108
|
+
...endemain, je me dirigeai vers la Sorbonne le coeur battant; à la porte, je rencontrai <span class="hilite">Sartre</span>: j'étais admissible ainsi que Nizan et lui. Herbaud avait échou..</li>
|
109
|
+
<li class='philologic_occurence'>
|
110
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
111
|
+
...e l'aie revu: "tu diras au Castor tout le bonheur que je lui souhaite " écrivit-il à <span class="hilite">Sartre</span> dans un pneu où il l'avisait de son départ. Il réapparut une semaine plus tard, e...</li>
|
112
|
+
<li class='philologic_occurence'>
|
113
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
114
|
+
...ions tous deux que j'avais menti. "À partir de maintenant, je vous prends en main " me dit <span class="hilite">Sartre</span> quand il m'eut annoncé mon admissibilité. Il avait le goût des amitiés féminine...</li>
|
115
|
+
<li class='philologic_occurence'>
|
116
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
117
|
+
... plus souvent nous nous promenions tous les deux seuls. Sur les quais de la Seine, <span class="hilite">Sartre</span> m'achetait des pardaillan et des fantomas qu'il préférait de loin à l...</li>
|
118
|
+
<li class='philologic_occurence'>
|
119
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
120
|
+
...nd ils prétendaient m'expliquer, les autres gens m'annexaient à leur monde, ils m'irritaient; <span class="hilite">Sartre</span> au contraire essayait de me situer dans mon propre système, il me comprenait à la lumi...</li>
|
121
|
+
<li class='philologic_occurence'>
|
122
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
123
|
+
...ments, les vies dangereuses, les hommes perdus, les excès d'alcool, de drogue, de passion. <span class="hilite">Sartre</span> soutenait que, quand on a quelque chose à dire, tout gaspillage est criminel. L'oeu...</li>
|
124
|
+
<li class='philologic_occurence'>
|
125
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
126
|
+
... par les nouvelles littéraires. " Nous avons reçu de J-P <span class="hilite">Sartre</span> des pages remarquables", écrivit Roland Alix en présentant sa répon...</li>
|
127
|
+
<li class='philologic_occurence'>
|
128
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
129
|
+
...ent qui se supposerait libre." Comparant sa génération à celle qui l'avait précédée, <span class="hilite">Sartre</span> concluait: "nous sommes plus malheureux, mais plus sympathiques." Cette dernière p...</li>
|
130
|
+
<li class='philologic_occurence'>
|
131
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
132
|
+
...x, mais plus sympathiques." Cette dernière phrase m'avait fait rire; mais en causant avec <span class="hilite">Sartre</span> j'entrevis la richesse de ce qu'il appelait sa " théorie de la contingence", où se tro...</li>
|
133
|
+
<li class='philologic_occurence'>
|
134
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
135
|
+
...e très insolite; impossible de s'inspirer d'aucune mode, d'aucun modèle: autant la pensée de <span class="hilite">Sartre</span> m'avait frappée par sa maturité, autant je fus déconcertée par la gaucherie des essa...</li>
|
136
|
+
<li class='philologic_occurence'>
|
137
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
138
|
+
...Nodier m'en avaient imposé: mais de loin, vaguement, sans que je me confronte à eux. <span class="hilite">Sartre</span>, tous les jours, toute la journée je me mesurais à lui et dans nos discussions, je ne ...</li>
|
139
|
+
<li class='philologic_occurence'>
|
140
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
141
|
+
... la première: une parmi d'autres, et soudain incertaine de ses véritables capacités. Car <span class="hilite">Sartre</span> n'était pas le seul qui m'obligeât à la modestie: Nizan, Aron, ...</li>
|
142
|
+
<li class='philologic_occurence'>
|
143
|
+
<a class='philologic_cite' href='./1839/4/0/0'><span class='philologic_property' title='author'>Beauvoir S. de</span>, <span class='philologic_property' title='title'>Memoires Jeune Fille Rangee</span> <span class='philologic_property' title='date'>(1958)</span></a>
|
144
|
+
...marqués par une sorte de grâce funeste; impossible de communiquer avec eux sans réserve. <span class="hilite">Sartre</span> répondait exactement au voeu de mes quinze ans: il était le double en qui je retrouvai...</li>
|
145
|
+
</ol><div class='more'><a href='./?query=sartre&title=&author=Beauvoir+S.+de&q_start=1&q_end=48'>1-48</a> </div></div></body></html>
|
@@ -0,0 +1,67 @@
|
|
1
|
+
<html><head><title>TLFsorted: frequency table for "sartre"</title></head>
|
2
|
+
<body>
|
3
|
+
<p class='description'>running query for sartre @ TLFsorted: 151 total hits. aggregating.</p>
|
4
|
+
<table class='philologic_frequency tablesorter' title='author'>
|
5
|
+
<thead><tr class='philologic_frequency_header_row'><th>Author</th><th>Frequency</th></tr></thead>
|
6
|
+
<tbody> <tr class='philologic_frequency_row'>
|
7
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Beauvoir+S.+de&title='>Beauvoir S. de</a></td>
|
8
|
+
<td class='philologic_frequency_value'>48</td>
|
9
|
+
</tr>
|
10
|
+
<tr class='philologic_frequency_row'>
|
11
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Sartre+J.-P.&title='>Sartre J.-P.</a></td>
|
12
|
+
<td class='philologic_frequency_value'>42</td>
|
13
|
+
</tr>
|
14
|
+
<tr class='philologic_frequency_row'>
|
15
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Gide+A.&title='>Gide A.</a></td>
|
16
|
+
<td class='philologic_frequency_value'>12</td>
|
17
|
+
</tr>
|
18
|
+
<tr class='philologic_frequency_row'>
|
19
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Ricoeur+P.&title='>Ricoeur P.</a></td>
|
20
|
+
<td class='philologic_frequency_value'>10</td>
|
21
|
+
</tr>
|
22
|
+
<tr class='philologic_frequency_row'>
|
23
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Lacroix+J.&title='>Lacroix J.</a></td>
|
24
|
+
<td class='philologic_frequency_value'>10</td>
|
25
|
+
</tr>
|
26
|
+
<tr class='philologic_frequency_row'>
|
27
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Vuillemin+J.&title='>Vuillemin J.</a></td>
|
28
|
+
<td class='philologic_frequency_value'>7</td>
|
29
|
+
</tr>
|
30
|
+
<tr class='philologic_frequency_row'>
|
31
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Peiresc+N.+de&title='>Peiresc N. de</a></td>
|
32
|
+
<td class='philologic_frequency_value'>4</td>
|
33
|
+
</tr>
|
34
|
+
<tr class='philologic_frequency_row'>
|
35
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Nizan+P.&title='>Nizan P.</a></td>
|
36
|
+
<td class='philologic_frequency_value'>3</td>
|
37
|
+
</tr>
|
38
|
+
<tr class='philologic_frequency_row'>
|
39
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Mounier+E.&title='>Mounier E.</a></td>
|
40
|
+
<td class='philologic_frequency_value'>3</td>
|
41
|
+
</tr>
|
42
|
+
<tr class='philologic_frequency_row'>
|
43
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Bachelard+G.&title='>Bachelard G.</a></td>
|
44
|
+
<td class='philologic_frequency_value'>3</td>
|
45
|
+
</tr>
|
46
|
+
<tr class='philologic_frequency_row'>
|
47
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Green+J.&title='>Green J.</a></td>
|
48
|
+
<td class='philologic_frequency_value'>3</td>
|
49
|
+
</tr>
|
50
|
+
<tr class='philologic_frequency_row'>
|
51
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Merleau-Ponty+M.&title='>Merleau-Ponty M.</a></td>
|
52
|
+
<td class='philologic_frequency_value'>2</td>
|
53
|
+
</tr>
|
54
|
+
<tr class='philologic_frequency_row'>
|
55
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Benda+J.&title='>Benda J.</a></td>
|
56
|
+
<td class='philologic_frequency_value'>2</td>
|
57
|
+
</tr>
|
58
|
+
<tr class='philologic_frequency_row'>
|
59
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Mauriac+F.&title='>Mauriac F.</a></td>
|
60
|
+
<td class='philologic_frequency_value'>1</td>
|
61
|
+
</tr>
|
62
|
+
<tr class='philologic_frequency_row'>
|
63
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Schaeffer+P.&title='>Schaeffer P.</a></td>
|
64
|
+
<td class='philologic_frequency_value'>1</td>
|
65
|
+
</tr>
|
66
|
+
</tbody></table>
|
67
|
+
</body></html>
|
@@ -18,6 +18,12 @@ class TestPhilologicClient < Test::Unit::TestCase
|
|
18
18
|
|
19
19
|
@endpoint = @data_dir
|
20
20
|
|
21
|
+
@coll_path = 'collocation_sartre.html'
|
22
|
+
@coll_file = File.join( @data_dir, @coll_path )
|
23
|
+
|
24
|
+
@coll_links_path = 'collocation_links.html'
|
25
|
+
@coll_links_file = File.join( @data_dir, @coll_links_path )
|
26
|
+
|
21
27
|
@freq_path = 'frequency_sartre.html'
|
22
28
|
@freq_file = File.join( @data_dir, @freq_path )
|
23
29
|
|
@@ -308,23 +314,30 @@ class TestPhilologicClient < Test::Unit::TestCase
|
|
308
314
|
assert_kind_of Array, results
|
309
315
|
assert_equal 15, results.size
|
310
316
|
results.each do |result|
|
311
|
-
assert_kind_of
|
312
|
-
|
313
|
-
|
314
|
-
assert_nil
|
315
|
-
assert_nil
|
316
|
-
assert_nil
|
317
|
-
assert_nil
|
318
|
-
assert_not_nil
|
317
|
+
assert_kind_of Philologic::TableRow, result
|
318
|
+
assert_equal 'philologic_frequency_row', result['class']
|
319
|
+
assert_nil result['href']
|
320
|
+
assert_nil result['some random attribute']
|
321
|
+
assert_nil result['author']
|
322
|
+
assert_nil result['filename']
|
323
|
+
assert_nil result['title']
|
324
|
+
assert_not_nil result.count
|
325
|
+
assert_not_nil result.field
|
326
|
+
assert_not_nil result.href
|
327
|
+
assert_not_nil result.text
|
319
328
|
end
|
320
329
|
|
321
|
-
assert_equal '
|
322
|
-
assert_equal
|
323
|
-
assert_equal './?query=sartre&author=Beauvoir+S.+de&title=
|
324
|
-
|
325
|
-
assert_equal '
|
326
|
-
|
327
|
-
assert_equal '
|
330
|
+
assert_equal 'author', results.first.field
|
331
|
+
assert_equal 48, results.first.count
|
332
|
+
assert_equal './?query=sartre&author=Beauvoir+S.+de&title=', results.first.href
|
333
|
+
assert_equal 'Beauvoir S. de', results.first.text
|
334
|
+
assert_equal 'author | 48 | Beauvoir S. de', results.first.to_s
|
335
|
+
|
336
|
+
assert_equal 'author', results.last.field
|
337
|
+
assert_equal 1, results.last.count
|
338
|
+
assert_equal './?query=sartre&author=Schaeffer+P.&title=', results.last.href
|
339
|
+
assert_equal 'Schaeffer P.', results.last.text
|
340
|
+
assert_equal 'author | 1 | Schaeffer P.', results.last.to_s
|
328
341
|
end
|
329
342
|
end
|
330
343
|
|
@@ -339,27 +352,35 @@ class TestPhilologicClient < Test::Unit::TestCase
|
|
339
352
|
assert_kind_of Array, results
|
340
353
|
assert_equal 15, results.size
|
341
354
|
results.each do |result|
|
342
|
-
assert_kind_of
|
343
|
-
|
344
|
-
|
345
|
-
assert_nil
|
346
|
-
assert_nil
|
347
|
-
assert_nil
|
348
|
-
assert_nil
|
349
|
-
assert_not_nil
|
355
|
+
assert_kind_of Philologic::TableRow, result
|
356
|
+
assert_equal 'philologic_frequency_row', result['class']
|
357
|
+
assert_nil result['href']
|
358
|
+
assert_nil result['some random attribute']
|
359
|
+
assert_nil result['author']
|
360
|
+
assert_nil result['filename']
|
361
|
+
assert_nil result['title']
|
362
|
+
assert_not_nil result.count
|
363
|
+
assert_not_nil result.field
|
364
|
+
assert_not_nil result.href
|
365
|
+
assert_not_nil result.text
|
350
366
|
end
|
351
367
|
|
352
|
-
assert_equal '
|
353
|
-
assert_equal
|
354
|
-
assert_equal './?query=sartre&author=Beauvoir+S.+de&title=
|
368
|
+
assert_equal 'author', results.first.field
|
369
|
+
assert_equal 48, results.first.count
|
370
|
+
assert_equal './?query=sartre&author=Beauvoir+S.+de&title=', results.first.href
|
371
|
+
assert_equal 'Beauvoir S. de', results.first.text
|
372
|
+
assert_equal 'author | 48 | Beauvoir S. de', results.first.to_s
|
373
|
+
|
374
|
+
assert_equal 'author', results.last.field
|
375
|
+
assert_equal 1, results.last.count
|
376
|
+
assert_equal './?query=sartre&author=Schaeffer+P.&title=', results.last.href
|
377
|
+
assert_equal 'Schaeffer P.', results.last.text
|
378
|
+
assert_equal 'author | 1 | Schaeffer P.', results.last.to_s
|
355
379
|
|
356
|
-
assert_equal './?query=sartre&author=Schaeffer+P.&title=', results.last['href']
|
357
|
-
assert_equal 'Schaeffer P.', results.last.text
|
358
|
-
assert_equal './?query=sartre&author=Schaeffer+P.&title= | Schaeffer P.', results.last.to_s
|
359
380
|
end
|
360
381
|
end
|
361
382
|
|
362
|
-
def
|
383
|
+
def test_philologic_frequency_tablerow_links
|
363
384
|
Philologic::Client.new(@endpoint) do |client|
|
364
385
|
freq_doc = client.send( :_parse, Nokogiri::HTML( open(@freq_file) ) )
|
365
386
|
freq_links_doc = client.send( :_parse, Nokogiri::HTML( open(@freq_links_file) ) )
|
@@ -403,5 +424,134 @@ class TestPhilologicClient < Test::Unit::TestCase
|
|
403
424
|
end
|
404
425
|
end
|
405
426
|
|
427
|
+
def test_collocation_search_with_invalid_queries
|
428
|
+
Philologic::Client.new(@endpoint) do |client|
|
429
|
+
[ nil, [], {}, '', [ '' ], [ nil ], Object.new ].each do |q|
|
430
|
+
assert_raise(RuntimeError, 'invalid query') { client.collocation(q) }
|
431
|
+
end
|
432
|
+
end
|
433
|
+
end
|
434
|
+
|
435
|
+
def test_collocation_search
|
436
|
+
Philologic::Client.new(@endpoint) do |client|
|
437
|
+
doc = client.send( :_parse, Nokogiri::HTML( open(@coll_file) ) )
|
438
|
+
client.stubs(:_get).with('?field=collocates&query=sartre&report=frequency').returns(doc)
|
439
|
+
|
440
|
+
results = client.collocation('sartre')
|
441
|
+
|
442
|
+
assert_not_nil results
|
443
|
+
assert_kind_of Array, results
|
444
|
+
assert_equal 15, results.size
|
445
|
+
results.each do |result|
|
446
|
+
assert_kind_of Philologic::TableRow, result
|
447
|
+
assert_equal 'philologic_frequency_row', result['class']
|
448
|
+
assert_nil result['href']
|
449
|
+
assert_nil result['some random attribute']
|
450
|
+
assert_nil result['author']
|
451
|
+
assert_nil result['filename']
|
452
|
+
assert_nil result['title']
|
453
|
+
assert_not_nil result.count
|
454
|
+
assert_not_nil result.field
|
455
|
+
assert_not_nil result.href
|
456
|
+
assert_not_nil result.text
|
457
|
+
end
|
458
|
+
|
459
|
+
assert_equal 'author', results.first.field
|
460
|
+
assert_equal 48, results.first.count
|
461
|
+
assert_equal './?query=sartre&author=Beauvoir+S.+de&title=', results.first.href
|
462
|
+
assert_equal 'Beauvoir S. de', results.first.text
|
463
|
+
assert_equal 'author | 48 | Beauvoir S. de', results.first.to_s
|
464
|
+
|
465
|
+
assert_equal 'author', results.last.field
|
466
|
+
assert_equal 1, results.last.count
|
467
|
+
assert_equal './?query=sartre&author=Schaeffer+P.&title=', results.last.href
|
468
|
+
assert_equal 'Schaeffer P.', results.last.text
|
469
|
+
assert_equal 'author | 1 | Schaeffer P.', results.last.to_s
|
470
|
+
end
|
471
|
+
end
|
472
|
+
|
473
|
+
def test_collocation_search_with_key_value_pairs
|
474
|
+
Philologic::Client.new(@endpoint) do |client|
|
475
|
+
doc = client.send( :_parse, Nokogiri::HTML( open(@coll_file) ) )
|
476
|
+
client.stubs(:_get).with('?field=collocates&query=sartre&report=frequency').returns(doc)
|
477
|
+
|
478
|
+
results = client.collocation( :query => 'sartre' )
|
479
|
+
|
480
|
+
assert_not_nil results
|
481
|
+
assert_kind_of Array, results
|
482
|
+
assert_equal 15, results.size
|
483
|
+
results.each do |result|
|
484
|
+
assert_kind_of Philologic::TableRow, result
|
485
|
+
assert_equal 'philologic_frequency_row', result['class']
|
486
|
+
assert_nil result['href']
|
487
|
+
assert_nil result['some random attribute']
|
488
|
+
assert_nil result['author']
|
489
|
+
assert_nil result['filename']
|
490
|
+
assert_nil result['title']
|
491
|
+
assert_not_nil result.count
|
492
|
+
assert_not_nil result.field
|
493
|
+
assert_not_nil result.href
|
494
|
+
assert_not_nil result.text
|
495
|
+
end
|
496
|
+
|
497
|
+
assert_equal 'author', results.first.field
|
498
|
+
assert_equal 48, results.first.count
|
499
|
+
assert_equal './?query=sartre&author=Beauvoir+S.+de&title=', results.first.href
|
500
|
+
assert_equal 'Beauvoir S. de', results.first.text
|
501
|
+
assert_equal 'author | 48 | Beauvoir S. de', results.first.to_s
|
502
|
+
|
503
|
+
assert_equal 'author', results.last.field
|
504
|
+
assert_equal 1, results.last.count
|
505
|
+
assert_equal './?query=sartre&author=Schaeffer+P.&title=', results.last.href
|
506
|
+
assert_equal 'Schaeffer P.', results.last.text
|
507
|
+
assert_equal 'author | 1 | Schaeffer P.', results.last.to_s
|
508
|
+
|
509
|
+
end
|
510
|
+
end
|
511
|
+
|
512
|
+
def test_philologic_collocation_tablerow_links
|
513
|
+
Philologic::Client.new(@endpoint) do |client|
|
514
|
+
coll_doc = client.send( :_parse, Nokogiri::HTML( open(@coll_file) ) )
|
515
|
+
coll_links_doc = client.send( :_parse, Nokogiri::HTML( open(@coll_links_file) ) )
|
516
|
+
client.stubs(:_get).with('?field=collocates&query=sartre&report=frequency').returns(coll_doc)
|
517
|
+
client.stubs(:_get).with('?author=Beauvoir+S.+de&query=sartre&title=').returns(coll_links_doc)
|
518
|
+
|
519
|
+
results = client.collocation( :query => 'sartre' )
|
520
|
+
assert_not_nil results
|
521
|
+
|
522
|
+
links = results.first.links
|
523
|
+
|
524
|
+
assert_not_nil links
|
525
|
+
assert_kind_of Array, links
|
526
|
+
assert_equal 48, links.size
|
527
|
+
|
528
|
+
links.each do |link|
|
529
|
+
assert_kind_of Philologic::Link, link
|
530
|
+
assert_equal 'philologic_cite', link['class']
|
531
|
+
assert_not_nil link['href']
|
532
|
+
assert_nil link['some random attribute']
|
533
|
+
assert_not_nil link['author']
|
534
|
+
assert_nil link['filename']
|
535
|
+
assert_not_nil link['title']
|
536
|
+
assert_raise(NoMethodError) { link.text }
|
537
|
+
end
|
538
|
+
|
539
|
+
assert_equal './1839/3/0/0', links.first['href']
|
540
|
+
assert_equal 'Beauvoir S. de', links.first['author']
|
541
|
+
assert_equal 'Memoires Jeune Fille Rangee', links.first['title']
|
542
|
+
assert_nil links.first['filename']
|
543
|
+
assert_raise(NoMethodError) { links.first.text }
|
544
|
+
assert_equal './1839/3/0/0 | Memoires Jeune Fille Rangee | Beauvoir S. de', links.first.to_s
|
545
|
+
|
546
|
+
assert_equal './1839/4/0/0', links.last['href']
|
547
|
+
assert_equal 'Beauvoir S. de', links.last['author']
|
548
|
+
assert_equal 'Memoires Jeune Fille Rangee', links.last['title']
|
549
|
+
assert_nil links.last['filename']
|
550
|
+
assert_raise(NoMethodError) { links.last.text }
|
551
|
+
assert_equal './1839/4/0/0 | Memoires Jeune Fille Rangee | Beauvoir S. de', links.last.to_s
|
552
|
+
|
553
|
+
end
|
554
|
+
end
|
555
|
+
|
406
556
|
end
|
407
557
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: philologic-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.10
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-01-
|
12
|
+
date: 2012-01-18 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
|
-
requirement: &
|
16
|
+
requirement: &70093876599220 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70093876599220
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rdoc
|
27
|
-
requirement: &
|
27
|
+
requirement: &70093876864820 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70093876864820
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: mocha
|
38
|
-
requirement: &
|
38
|
+
requirement: &70093879163480 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70093879163480
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rdoc-readme
|
49
|
-
requirement: &
|
49
|
+
requirement: &70093879782440 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.1.2
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70093879782440
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: simplecov
|
60
|
-
requirement: &
|
60
|
+
requirement: &70093879916440 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70093879916440
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: nokogiri
|
71
|
-
requirement: &
|
71
|
+
requirement: &70093880007360 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70093880007360
|
80
80
|
description: Ruby client for interacting with the Philologic API.
|
81
81
|
email:
|
82
82
|
- blair.christensen@gmail.com
|
@@ -93,6 +93,8 @@ files:
|
|
93
93
|
- lib/philologic-client.rb
|
94
94
|
- lib/philologic-client/version.rb
|
95
95
|
- philologic-client.gemspec
|
96
|
+
- test/data/collocation_links.html
|
97
|
+
- test/data/collocation_sartre.html
|
96
98
|
- test/data/doc_file.html
|
97
99
|
- test/data/frequency_links.html
|
98
100
|
- test/data/frequency_sartre.html
|
@@ -113,7 +115,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
113
115
|
version: '0'
|
114
116
|
segments:
|
115
117
|
- 0
|
116
|
-
hash: -
|
118
|
+
hash: -1051070454611838584
|
117
119
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
118
120
|
none: false
|
119
121
|
requirements:
|
@@ -122,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
122
124
|
version: '0'
|
123
125
|
segments:
|
124
126
|
- 0
|
125
|
-
hash: -
|
127
|
+
hash: -1051070454611838584
|
126
128
|
requirements: []
|
127
129
|
rubyforge_project: philologic-client
|
128
130
|
rubygems_version: 1.8.7
|
@@ -130,6 +132,8 @@ signing_key:
|
|
130
132
|
specification_version: 3
|
131
133
|
summary: Ruby client for interacting with the Philologic API.
|
132
134
|
test_files:
|
135
|
+
- test/data/collocation_links.html
|
136
|
+
- test/data/collocation_sartre.html
|
133
137
|
- test/data/doc_file.html
|
134
138
|
- test/data/frequency_links.html
|
135
139
|
- test/data/frequency_sartre.html
|