philologic-client 0.0.9 → 0.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|