gscholar 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1fec59a3b6b44a6050886d596cd8f3b3a72c8863
4
- data.tar.gz: f393420400d2963d3650e7934410e7939688cc60
3
+ metadata.gz: 5b3e7afc6e9b27fae3181575aa7476d31aa6fd99
4
+ data.tar.gz: 8dd9aae6331535de9c6495cfb6155393598629c5
5
5
  SHA512:
6
- metadata.gz: f8278c5ed8e3d5313b72d5728cc71d7de56f2b8549fe32d8419bfdcd73788b1bad98bd8b3d3a40ec006ce7b84e82e6bbb9e9bd3a5a0cc36a8a42fcbbc1e55f9a
7
- data.tar.gz: 3d605ecff90282092385acaa6d4f5e283b15fe3e150c9f3d7b6c4d28aec17ef99bf129d7097f24842dae1c83170cb85e2db6ccbda06c5351bcacf9fec35951c5
6
+ metadata.gz: bfd9f8bc016098917df22c1436aba774f2770883eed14f329d9aa413af78cd4e8650fc994fe53eac76c315a4786cd36375acd48f1ee5fcded76c7a93838992a7
7
+ data.tar.gz: 7ff03988617a7b508e72895af066257fd5fb6f95d7919772819ea5942086805c2cf3b85a7f461c59de92a2c5c97b912ddd6a2c2f756cc8d2ab90f8f0c9316f89
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
data/gscholar.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "gscholar"
8
- s.version = "0.1.0"
8
+ s.version = "0.1.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Zifei Tong"]
@@ -31,6 +31,7 @@ Gem::Specification.new do |s|
31
31
  "lib/gscholar/utils.rb",
32
32
  "lib/gscholar/utils/fetcher.rb",
33
33
  "lib/gscholar/utils/lazy_proxy.rb",
34
+ "lib/gscholar/utils/text_plain_parser.rb",
34
35
  "test/helper.rb",
35
36
  "test/test_fetcher.rb",
36
37
  "test/test_lazy_proxy.rb",
@@ -7,6 +7,9 @@ module GScholar
7
7
  def initialize
8
8
  @cache = {}
9
9
  @agent = Mechanize.new
10
+ @agent.pluggable_parser['text/plain'] = TextPlainParser
11
+ # Without changing user-agent, google will not return utf-8 page
12
+ @agent.user_agent_alias = 'Mac Safari'
10
13
 
11
14
  # hack to enable BibTeX download
12
15
  scisig = @agent.get('http://scholar.google.com/scholar_settings').
@@ -16,6 +19,8 @@ module GScholar
16
19
 
17
20
  def fetch(url)
18
21
  @cache[url] ||= @agent.get(url)
22
+ p @cache[url].response.to_hash
23
+ @cache[url]
19
24
  end
20
25
  end
21
26
 
@@ -0,0 +1,12 @@
1
+ module GScholar
2
+ module Utils
3
+ class TextPlainParser < Mechanize::File
4
+ def initialize uri = nil, response = nil, body = nil, code = nil
5
+ super uri, response, body, code
6
+ encoding = response['content-type'][/;(?:\s*,)?\s*charset\s*=\s*([^()<>@,;:\\\"\/\[\]?={}\s]+)/i, 1]
7
+ @body.force_encoding encoding if encoding && encoding != 'none'
8
+ @body.encode! 'UTF-8'
9
+ end
10
+ end
11
+ end
12
+ end
@@ -1,5 +1,6 @@
1
1
  require 'gscholar/utils/fetcher'
2
2
  require 'gscholar/utils/lazy_proxy'
3
+ require 'gscholar/utils/text_plain_parser'
3
4
 
4
5
  module GScholar
5
6
  module Utils
data/test/test_paper.rb CHANGED
@@ -1,9 +1,13 @@
1
+ # encoding: utf-8
2
+
1
3
  require 'helper'
2
4
 
3
5
  # Helmer, Scott, et al. Curious george: The ubc semantic robot vision system. Vol. 2. Technical Report AAAI-WS-08-XX, AAAI Technical Report Series, 2007.
4
6
  PAPER_0 = '8322442812667615406'
5
7
  # Maxwell, Bruce A., Brian M. Leighton, and Leah R. Perlmutter. "A Responsive Vision System to Support Human-Robot Interaction."
6
8
  PAPER_1 = '778988983414467064'
9
+ # 何祚庥. "量子力学的建立与科技创新的评价体系——纪念普朗克创立量子论 100 周年." 昆明理工大学学报 (社会科学版) 1.1 (2001).
10
+ PAPER_UTF8 = '11787577865338439018'
7
11
 
8
12
  class TestPaper < Test::Unit::TestCase
9
13
  def setup
@@ -35,4 +39,9 @@ class TestPaper < Test::Unit::TestCase
35
39
  c1 = @p1.citations
36
40
  assert_equal(c1.size, 0)
37
41
  end
42
+
43
+ should "successfully get paper information with utf-8 encoding" do
44
+ @p = GScholar::Paper.new PAPER_UTF8
45
+ assert_equal(@p.author.first, '何祚庥')
46
+ end
38
47
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gscholar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zifei Tong
@@ -159,6 +159,7 @@ files:
159
159
  - lib/gscholar/utils.rb
160
160
  - lib/gscholar/utils/fetcher.rb
161
161
  - lib/gscholar/utils/lazy_proxy.rb
162
+ - lib/gscholar/utils/text_plain_parser.rb
162
163
  - test/helper.rb
163
164
  - test/test_fetcher.rb
164
165
  - test/test_lazy_proxy.rb