philologic-client 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/HISTORY.rdoc +4 -0
- data/README.rdoc +4 -2
- data/lib/philologic-client/version.rb +1 -1
- data/lib/philologic-client.rb +62 -3
- data/test/data/frequency_links.html +145 -0
- data/test/test_philologic_client.rb +109 -39
- metadata +18 -16
data/HISTORY.rdoc
CHANGED
data/README.rdoc
CHANGED
@@ -26,6 +26,9 @@
|
|
26
26
|
# Frequency search by arbitrary key-value pairs
|
27
27
|
client.frequency( :query => 'sartre', :foo => 1 ).each { |result| puts result }
|
28
28
|
|
29
|
+
# Links for first result in frequency table search
|
30
|
+
client.frequency('sartre').first.links.each { |link| puts link }
|
31
|
+
|
29
32
|
# Get/Set encoding
|
30
33
|
encoding = client.encoding
|
31
34
|
client.encoding = 'utf-8' # Default
|
@@ -51,9 +54,8 @@ https://github.com/blairc/philologic-client/
|
|
51
54
|
|
52
55
|
== To Do
|
53
56
|
|
54
|
-
* Add frequency table searching
|
55
57
|
* Add collocation table searching
|
56
58
|
* Add +children+ to Philologic::Document
|
57
59
|
* Add +parent+ to Philologic::Document
|
58
|
-
* Unify Philologic::
|
60
|
+
* Unify (as much as possible) Philologic::Document, Philologic::Key, Philologic::Link
|
59
61
|
|
data/lib/philologic-client.rb
CHANGED
@@ -34,6 +34,9 @@ require 'open-uri'
|
|
34
34
|
# # Frequency search by arbitrary key-value pairs
|
35
35
|
# client.frequency( :query => 'sartre', :foo => 1 ).each { |result| puts result }
|
36
36
|
#
|
37
|
+
# # Links for first result in frequency table search
|
38
|
+
# client.frequency('sartre').first.links.each { |link| puts link }
|
39
|
+
#
|
37
40
|
# # Get/Set encoding
|
38
41
|
# encoding = client.encoding
|
39
42
|
# client.encoding = 'utf-8' # Default
|
@@ -59,11 +62,10 @@ require 'open-uri'
|
|
59
62
|
#
|
60
63
|
# == To Do
|
61
64
|
#
|
62
|
-
# * Add frequency table searching
|
63
65
|
# * Add collocation table searching
|
64
66
|
# * Add +children+ to Philologic::Document
|
65
67
|
# * Add +parent+ to Philologic::Document
|
66
|
-
# * Unify Philologic::
|
68
|
+
# * Unify (as much as possible) Philologic::Document, Philologic::Key, Philologic::Link
|
67
69
|
#
|
68
70
|
module Philologic # :nodoc:
|
69
71
|
|
@@ -190,6 +192,14 @@ module Philologic # :nodoc:
|
|
190
192
|
return results
|
191
193
|
elsif !doc.css('div.philologic_object').first.nil?
|
192
194
|
return Philologic::Document.new( doc.css('div.philologic_object').first )
|
195
|
+
elsif !doc.css('table.philologic_frequency').first.nil?
|
196
|
+
results = []
|
197
|
+
doc.css('table.philologic_frequency').css('td.philologic_frequency_key').each do |key|
|
198
|
+
key.css('a').each do |a|
|
199
|
+
results << Philologic::Key.new(self, a) # TODO Why not a select?
|
200
|
+
end
|
201
|
+
end
|
202
|
+
return results
|
193
203
|
# TODO else
|
194
204
|
# warn "WARNING: could not parse document"
|
195
205
|
end
|
@@ -240,6 +250,56 @@ module Philologic # :nodoc:
|
|
240
250
|
end # class Philologic::Document
|
241
251
|
|
242
252
|
|
253
|
+
#
|
254
|
+
# Philologic key.
|
255
|
+
#
|
256
|
+
class Key
|
257
|
+
|
258
|
+
#
|
259
|
+
# Initialize Philologic::Key object.
|
260
|
+
#
|
261
|
+
# Params:
|
262
|
+
# +client+:: Philologic::Client object
|
263
|
+
# +document+:: Nokogiri document
|
264
|
+
#
|
265
|
+
def initialize(client, document)
|
266
|
+
@client = client
|
267
|
+
@doc = document
|
268
|
+
end
|
269
|
+
|
270
|
+
#
|
271
|
+
# Returns value of attribute +key+ or +nil+.
|
272
|
+
#
|
273
|
+
def [](key)
|
274
|
+
@doc.attributes.key?(key) ? @doc.attributes[key].value : nil
|
275
|
+
end
|
276
|
+
|
277
|
+
#
|
278
|
+
# Returns Philologic::Link objects referenced by this Philologic::Key object.
|
279
|
+
#
|
280
|
+
def links
|
281
|
+
q = self['href'].sub( %r{^\./\?}, '' ).split('&')
|
282
|
+
@client.search( Hash[ *q.collect { |v| v.split('=', 2) }.flatten ] )
|
283
|
+
end
|
284
|
+
|
285
|
+
#
|
286
|
+
# Returns key text.
|
287
|
+
#
|
288
|
+
def text
|
289
|
+
@text = @doc.text.lstrip.rstrip if @text.nil?
|
290
|
+
@text
|
291
|
+
end
|
292
|
+
|
293
|
+
#
|
294
|
+
# Return String representation of object.
|
295
|
+
#
|
296
|
+
def to_s
|
297
|
+
[ self['href'], self.text ].join(' | ')
|
298
|
+
end
|
299
|
+
|
300
|
+
end # class Philologic::Key
|
301
|
+
|
302
|
+
|
243
303
|
#
|
244
304
|
# Philologic link.
|
245
305
|
#
|
@@ -285,5 +345,4 @@ module Philologic # :nodoc:
|
|
285
345
|
|
286
346
|
end # class Philologic::Link
|
287
347
|
|
288
|
-
|
289
348
|
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>
|
@@ -10,22 +10,25 @@ require 'mocha'
|
|
10
10
|
class TestPhilologicClient < Test::Unit::TestCase
|
11
11
|
|
12
12
|
def setup
|
13
|
-
@test_dir
|
14
|
-
@data_dir
|
13
|
+
@test_dir = File.expand_path( File.dirname(__FILE__) )
|
14
|
+
@data_dir = File.expand_path( File.join( @test_dir, 'data' ) )
|
15
15
|
|
16
|
-
@doc_path
|
17
|
-
@doc_file
|
16
|
+
@doc_path = 'doc_file.html'
|
17
|
+
@doc_file = File.join( @data_dir, @doc_path )
|
18
18
|
|
19
|
-
@endpoint
|
19
|
+
@endpoint = @data_dir
|
20
20
|
|
21
|
-
@freq_path
|
22
|
-
@freq_file
|
21
|
+
@freq_path = 'frequency_sartre.html'
|
22
|
+
@freq_file = File.join( @data_dir, @freq_path )
|
23
23
|
|
24
|
-
@
|
25
|
-
@
|
24
|
+
@freq_links_path = 'frequency_links.html'
|
25
|
+
@freq_links_file = File.join( @data_dir, @freq_links_path )
|
26
26
|
|
27
|
-
@
|
28
|
-
@
|
27
|
+
@root_path = 'root_file.html'
|
28
|
+
@root_file = File.join( @data_dir, @root_path )
|
29
|
+
|
30
|
+
@query_path = 'query_sartre.html'
|
31
|
+
@query_file = File.join( @data_dir, @query_path )
|
29
32
|
end
|
30
33
|
|
31
34
|
|
@@ -298,34 +301,101 @@ class TestPhilologicClient < Test::Unit::TestCase
|
|
298
301
|
|
299
302
|
results = client.frequency('sartre')
|
300
303
|
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
304
|
+
assert_not_nil results
|
305
|
+
assert_kind_of Array, results
|
306
|
+
assert_equal 15, results.size
|
307
|
+
results.each do |result|
|
308
|
+
assert_kind_of Philologic::Key, result
|
309
|
+
assert_nil result['class']
|
310
|
+
assert_not_nil result['href']
|
311
|
+
assert_nil result['some random attribute']
|
312
|
+
assert_nil result['author']
|
313
|
+
assert_nil result['filename']
|
314
|
+
assert_nil result['title']
|
315
|
+
assert_not_nil result.text
|
316
|
+
end
|
317
|
+
|
318
|
+
assert_equal './?query=sartre&author=Beauvoir+S.+de&title=', results.first['href']
|
319
|
+
assert_equal 'Beauvoir S. de', results.first.text
|
320
|
+
assert_equal './?query=sartre&author=Beauvoir+S.+de&title= | Beauvoir S. de', results.first.to_s
|
321
|
+
|
322
|
+
assert_equal './?query=sartre&author=Schaeffer+P.&title=', results.last['href']
|
323
|
+
assert_equal 'Schaeffer P.', results.last.text
|
324
|
+
assert_equal './?query=sartre&author=Schaeffer+P.&title= | Schaeffer P.', results.last.to_s
|
325
|
+
end
|
326
|
+
end
|
327
|
+
|
328
|
+
def test_frequency_search_with_key_value_pairs
|
329
|
+
Philologic::Client.new(@endpoint) do |client|
|
330
|
+
doc = client.send( :_parse, Nokogiri::HTML( open(@freq_file) ) )
|
331
|
+
client.stubs(:_get).with('?query=sartre&report=frequency').returns(doc)
|
332
|
+
|
333
|
+
results = client.frequency( :query => 'sartre' )
|
334
|
+
|
335
|
+
assert_not_nil results
|
336
|
+
assert_kind_of Array, results
|
337
|
+
assert_equal 15, results.size
|
338
|
+
results.each do |result|
|
339
|
+
assert_kind_of Philologic::Key, result
|
340
|
+
assert_nil result['class']
|
341
|
+
assert_not_nil result['href']
|
342
|
+
assert_nil result['some random attribute']
|
343
|
+
assert_nil result['author']
|
344
|
+
assert_nil result['filename']
|
345
|
+
assert_nil result['title']
|
346
|
+
assert_not_nil result.text
|
347
|
+
end
|
348
|
+
|
349
|
+
assert_equal './?query=sartre&author=Beauvoir+S.+de&title=', results.first['href']
|
350
|
+
assert_equal 'Beauvoir S. de', results.first.text
|
351
|
+
assert_equal './?query=sartre&author=Beauvoir+S.+de&title= | Beauvoir S. de', results.first.to_s
|
352
|
+
|
353
|
+
assert_equal './?query=sartre&author=Schaeffer+P.&title=', results.last['href']
|
354
|
+
assert_equal 'Schaeffer P.', results.last.text
|
355
|
+
assert_equal './?query=sartre&author=Schaeffer+P.&title= | Schaeffer P.', results.last.to_s
|
356
|
+
end
|
357
|
+
end
|
358
|
+
|
359
|
+
def test_philologic_key_links
|
360
|
+
Philologic::Client.new(@endpoint) do |client|
|
361
|
+
freq_doc = client.send( :_parse, Nokogiri::HTML( open(@freq_file) ) )
|
362
|
+
freq_links_doc = client.send( :_parse, Nokogiri::HTML( open(@freq_links_file) ) )
|
363
|
+
client.stubs(:_get).with('?query=sartre&report=frequency').returns(freq_doc)
|
364
|
+
client.stubs(:_get).with('?author=Beauvoir+S.+de&query=sartre&title=').returns(freq_links_doc)
|
365
|
+
|
366
|
+
results = client.frequency( :query => 'sartre' )
|
367
|
+
assert_not_nil results
|
368
|
+
|
369
|
+
links = results.first.links
|
370
|
+
|
371
|
+
assert_not_nil links
|
372
|
+
assert_kind_of Array, links
|
373
|
+
assert_equal 48, links.size
|
374
|
+
|
375
|
+
links.each do |link|
|
376
|
+
assert_kind_of Philologic::Link, link
|
377
|
+
assert_equal 'philologic_cite', link['class']
|
378
|
+
assert_not_nil link['href']
|
379
|
+
assert_nil link['some random attribute']
|
380
|
+
assert_not_nil link['author']
|
381
|
+
assert_nil link['filename']
|
382
|
+
assert_not_nil link['title']
|
383
|
+
assert_raise(NoMethodError) { link.text }
|
384
|
+
end
|
385
|
+
|
386
|
+
assert_equal './1839/3/0/0', links.first['href']
|
387
|
+
assert_equal 'Beauvoir S. de', links.first['author']
|
388
|
+
assert_equal 'Memoires Jeune Fille Rangee', links.first['title']
|
389
|
+
assert_nil links.first['filename']
|
390
|
+
assert_raise(NoMethodError) { links.first.text }
|
391
|
+
assert_equal './1839/3/0/0 | Memoires Jeune Fille Rangee | Beauvoir S. de', links.first.to_s
|
392
|
+
|
393
|
+
assert_equal './1839/4/0/0', links.last['href']
|
394
|
+
assert_equal 'Beauvoir S. de', links.last['author']
|
395
|
+
assert_equal 'Memoires Jeune Fille Rangee', links.last['title']
|
396
|
+
assert_nil links.last['filename']
|
397
|
+
assert_raise(NoMethodError) { links.last.text }
|
398
|
+
assert_equal './1839/4/0/0 | Memoires Jeune Fille Rangee | Beauvoir S. de', links.last.to_s
|
329
399
|
|
330
400
|
end
|
331
401
|
end
|
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.8
|
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-10 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
|
-
requirement: &
|
16
|
+
requirement: &70366750022700 !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: *70366750022700
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rdoc
|
27
|
-
requirement: &
|
27
|
+
requirement: &70366750022260 !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: *70366750022260
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: mocha
|
38
|
-
requirement: &
|
38
|
+
requirement: &70366750021840 !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: *70366750021840
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rdoc-readme
|
49
|
-
requirement: &
|
49
|
+
requirement: &70366750021340 !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: *70366750021340
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: simplecov
|
60
|
-
requirement: &
|
60
|
+
requirement: &70366750020920 !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: *70366750020920
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: nokogiri
|
71
|
-
requirement: &
|
71
|
+
requirement: &70366750020460 !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: *70366750020460
|
80
80
|
description: Ruby client for interacting with the Philologic API.
|
81
81
|
email:
|
82
82
|
- blair.christensen@gmail.com
|
@@ -94,6 +94,7 @@ files:
|
|
94
94
|
- lib/philologic-client/version.rb
|
95
95
|
- philologic-client.gemspec
|
96
96
|
- test/data/doc_file.html
|
97
|
+
- test/data/frequency_links.html
|
97
98
|
- test/data/frequency_sartre.html
|
98
99
|
- test/data/query_sartre.html
|
99
100
|
- test/data/root_file.html
|
@@ -112,7 +113,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
112
113
|
version: '0'
|
113
114
|
segments:
|
114
115
|
- 0
|
115
|
-
hash: -
|
116
|
+
hash: -832477634477053375
|
116
117
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
118
|
none: false
|
118
119
|
requirements:
|
@@ -121,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
121
122
|
version: '0'
|
122
123
|
segments:
|
123
124
|
- 0
|
124
|
-
hash: -
|
125
|
+
hash: -832477634477053375
|
125
126
|
requirements: []
|
126
127
|
rubyforge_project: philologic-client
|
127
128
|
rubygems_version: 1.8.7
|
@@ -130,6 +131,7 @@ specification_version: 3
|
|
130
131
|
summary: Ruby client for interacting with the Philologic API.
|
131
132
|
test_files:
|
132
133
|
- test/data/doc_file.html
|
134
|
+
- test/data/frequency_links.html
|
133
135
|
- test/data/frequency_sartre.html
|
134
136
|
- test/data/query_sartre.html
|
135
137
|
- test/data/root_file.html
|