gared 0.0.8 → 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.
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