gared 0.0.8 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/gared/idea.rb +32 -16
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b56aa6489168555337a810768f1503c9f6a0458f31b8cb811a885f8e825ae494
4
- data.tar.gz: 59dfc804c9796726ec6a606274f69bc7ddde489bb03ac05c6b342ea647a211f2
3
+ metadata.gz: 8459865216cd87441be5b4b8077bb4d2a1796eab7a7e7949ab0c7f366ba17454
4
+ data.tar.gz: 69cbdabc561474f27133d99a29848e570e8463534e559f3f40757b368014c0b9
5
5
  SHA512:
6
- metadata.gz: c3d52c618ae42161ce63b1d1ae6d278ca432de6da95a40ff98a3738c68ef17c7ebe848b3e46e21fbc6cd34bef72749faebf73fa6a26552f55d14d554c735a8eb
7
- data.tar.gz: e127a94994c9776fd51669610231f1e14fca82da8a8e21feff51d7812658d25f36cf0671c2e7830e62760dcb69ed99bb54b9668ae95031efb2b1c96b895d4efb
6
+ metadata.gz: 7621514e31459ceea5bbe01fb5e29a9274c044b8f695645852fed95a3f777e5b991659338a50ee83dae0eca571e21538f655e6fa1c49b083b17aabfeac87e51a
7
+ data.tar.gz: e9ffaadf371c999ccaf8aff79df49eb01eb86cf15675505efb0fc91b2f0a4c9537de0462812d6f1f9390892b5bfd6802d496846dd5891dc864d2cd003bbdebaa
@@ -27,20 +27,35 @@ module Gared
27
27
  @browser.input(id: 'cb_update_0').click # "quick search" - not necessarily by author!
28
28
  @browser.wait
29
29
  ret = []
30
- results = @browser.div(id: 'results_list')
31
- if results.exists?
32
- trs = @browser.div(id: 'results_list').table.rows
33
- if trs.size > 0
34
- trs.each do |tr|
35
- item = tr.tr.tds[1]
36
- urlpart = item.h5.a.href
37
- p = Publication.new
38
- p.title = item.ps[0].text
39
- p.author_line = item.ps[1].text.sub('מחבר: ','')
40
- p.pub_year = item.ps[2].text.sub('שנה לועזית:','').sub('שנת הוצאה:','')
41
-
42
- p.source_id = urlpart
43
- ret << p
30
+ begin
31
+ results = @browser.div(id: 'results_list')
32
+ if results.exists?
33
+ # total = @browser.div(:class => 'resultSum').text.scan(/מתוך\s+(\d+)/)[0][0].to_i
34
+ stop = false
35
+ until stop do
36
+ trs = @browser.div(id: 'results_list').table.rows
37
+ if trs.size > 0
38
+ trs.each do |tr|
39
+ item = tr.tr.tds[1]
40
+ urlpart = item.h5.a.href
41
+ p = Publication.new
42
+ p.title = item.ps[0].text # first line is always the title. After that, all bets are off...
43
+ item.ps.each{|para|
44
+ st = para.text.strip
45
+ p.author_line = st.sub('מחבר: ','') if st =~ /^מחבר:/
46
+ p.pub_year = st.sub('שנה לועזית:','').sub('שנת הוצאה:','') if st =~ /^שנה לועזית:/ or st =~ /^שנת הוצאה:/
47
+ }
48
+ p.source_id = urlpart
49
+ ret << p
50
+ end
51
+ nextlink = @browser.a(title: 'הבא')
52
+ if nextlink.exists?
53
+ nextlink.click
54
+ @browser.wait
55
+ else
56
+ stop = true
57
+ end
58
+ end
44
59
  end
45
60
  # now that we've extracted everything useful from this page, iterate over the results to pick up the system ID
46
61
  ret.each do |item|
@@ -53,11 +68,12 @@ module Gared
53
68
  h.source_id = item.source_id
54
69
  h.source_name = @options[:opac_url]
55
70
  item.add_holding(h)
56
- end
71
+ end
57
72
  end
73
+ rescue Exception
74
+ puts $!
58
75
  end
59
76
  return ret
60
- # TODO: support multiple result pages
61
77
  end
62
78
  end
63
79
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gared
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Asaf Bartov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-29 00:00:00.000000000 Z
11
+ date: 2018-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: zoom