crunchyroll 0.9.8.1 → 0.9.9

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: c4b4e50da6a10b42baaff2005b0450dde3666eca
4
- data.tar.gz: d92f81f586e9a6564735360af7ffed5c86540e93
3
+ metadata.gz: d4649aca5847722790b30cf6d33f52ae6ba9d3f8
4
+ data.tar.gz: ff607abd79483b4a9e2b4dc01f1f9ee872880264
5
5
  SHA512:
6
- metadata.gz: cee2e35805c93f2a6cfc57d14089177a86e05e13c07958dc053b5eecc44b72362f415fdc6416f45f68f74e6811ba857665224e0a9d20e0f33050b90727b95fe8
7
- data.tar.gz: 447b98ee2450185756133e827677fd6547ef2ae0b65ee00e09d1d999d8a1ef3e630fa44e73517073576cae374883bf58dd0cd3169b1f950d841f7a0cb1ae5708
6
+ metadata.gz: 78108d959baf8dd78dbf00aa0392ca24da1dfa2de7a4dd2fff8afb3c77d1090f4efa834503b3227c815047ad9b22f2670b643b8d16faf58288e1075a38431105
7
+ data.tar.gz: 0977a19a506514e8cabb7a8ebbf959085e2382b0530e2f81e63ced6e8fe7914f2dc2eefa96380a1908cf21d01d52749a851bb8484b60f92ed5e6419578f89182
@@ -12,16 +12,13 @@
12
12
  # 0. You just DO WHAT THE FUCK YOU WANT TO.
13
13
  ##
14
14
 
15
- using Utils
16
-
17
15
  Time.zone = 'MST'
18
16
  Chronic.time_class = Time.zone
19
17
 
20
18
  module Crunchyroll
21
19
  class << self
22
-
23
20
  def find(series, time_zone = 'Rome', proxy = nil, use_proxy = true)
24
- proxy ||= { host: '104.140.67.36', port: '7808' }
21
+ proxy ||= { host: '136.0.16.217', port: '7808' }
25
22
  cr = 'http://www.crunchyroll.com/lineup'
26
23
 
27
24
  title, url = [''] * 2
@@ -40,7 +37,7 @@ class << self
40
37
 
41
38
  air = air.text
42
39
  day_literal = air.split('Simulcast on ')[1].split[0][0..-2]
43
- date = Time.parse(air.format_cr_date)
40
+ date = Time.parse(Utils.format_cr_date(air))
44
41
  date = Chronic.parse("this #{day_literal} at #{date.hour}:#{date.min}").in_time_zone time_zone
45
42
  date += 3600 unless Time.now.dst?
46
43
 
@@ -50,7 +47,7 @@ class << self
50
47
  :day => day_literal,
51
48
  :hour => date.hour <= 9 ? "0#{date.hour}" : date.hour,
52
49
  :min => date.min <= 9 ? "0#{date.min}" : date.min,
53
- :left => Time.now.left(date)
50
+ :left => Utils.time_left(Time.now, date)
54
51
  }
55
52
  end
56
53
  alias_method :get, :find
@@ -61,10 +58,11 @@ class << self
61
58
  today = Time.now
62
59
 
63
60
  [].tap do |releases|
64
- Nokogiri::HTML(open(url)).xpath('//div[@class="today-releases"]/div[@class="series-name"]').each { |r|
65
- title = r.at_xpath('.//child::text()').to_s.squeeze(' ')
66
- time = r.at_xpath('.//span').text
67
- date = Chronic.parse("today at #{time}").in_time_zone time_zone
61
+ Nokogiri::HTML(open(url)).xpath('//table[@class="schedule-table"]/tr').each { |r|
62
+ title = r.at_xpath('.//td[@class="schedule-widget-show"]').text
63
+ time = r.at_xpath('.//td[@class="schedule-time"]').text
64
+
65
+ date = Chronic.parse("today at #{time}").in_time_zone(time_zone)
68
66
  date += 3600 unless today.dst?
69
67
 
70
68
  time_diff = TimeDifference.between(today, date).in_general
@@ -82,7 +80,7 @@ class << self
82
80
  :day => date.strftime("%A"),
83
81
  :hour => date.hour,
84
82
  :min => date.min,
85
- :left => today.left(date)
83
+ :left => Utils.time_left(today, date)
86
84
  }
87
85
  }
88
86
  end.sort_by { |h| h[:date] }
@@ -12,10 +12,11 @@
12
12
  # 0. You just DO WHAT THE FUCK YOU WANT TO.
13
13
  ##
14
14
 
15
+ module Crunchyroll
15
16
  module Utils
16
- refine Time do
17
- def left(end_time)
18
- diff = TimeDifference.between(self, end_time).in_general
17
+ class << self
18
+ def time_left(start_time, end_time)
19
+ diff = TimeDifference.between(start_time, end_time).in_general
19
20
 
20
21
  secs = diff[:seconds].to_i
21
22
  mins = diff[:minutes].to_i
@@ -32,24 +33,19 @@ module Utils
32
33
  "#{secs} seconds"
33
34
  end
34
35
  end
35
- end
36
-
37
- refine String do
38
- def to_24h
39
- DateTime.parse(self).strftime("%H:%M")
40
- end
41
36
 
42
- def format_cr_date
37
+ def format_cr_date(date)
43
38
  s = ''
44
- self.split('Simulcast on ')[1][0..-5].split.each { |d| s += d.end_with?(?s) ? d[0..-2] : d; s += ' ' }
39
+ date.split('Simulcast on ')[1][0..-5].split.each { |d| s += d.end_with?(?s) ? d[0..-2] : d; s += ' ' }
45
40
 
46
41
  am_pm = s.strip[-2..-1]
47
42
  s = s.strip[0..-3]
48
43
 
49
44
  day_time = s.split
50
45
  day = day_time.shift
51
- time = day_time.shift.to_24h
52
- return "#{day} #{time}"
46
+ time = DateTime.parse(day_time.shift).strftime('%H:%M')
47
+ "#{day} #{time}"
53
48
  end
54
49
  end
55
50
  end
51
+ end
@@ -14,6 +14,6 @@
14
14
 
15
15
  module Crunchyroll
16
16
  def self.version
17
- '0.9.8.1'
17
+ '0.9.9'
18
18
  end
19
19
  end
metadata CHANGED
@@ -1,67 +1,67 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crunchyroll
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.8.1
4
+ version: 0.9.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Giovanni Capuano
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-23 00:00:00.000000000 Z
11
+ date: 2015-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
15
- requirement: !ruby/object:Gem::Requirement
15
+ version_requirements: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.6'
20
20
  type: :runtime
21
21
  prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
22
+ requirement: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.6'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: time_difference
29
- requirement: !ruby/object:Gem::Requirement
29
+ version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0.3'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
36
+ requirement: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: chronic
43
- requirement: !ruby/object:Gem::Requirement
43
+ version_requirements: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0.10'
48
48
  type: :runtime
49
49
  prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
50
+ requirement: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.10'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: activesupport
57
- requirement: !ruby/object:Gem::Requirement
57
+ version_requirements: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '4.1'
62
62
  type: :runtime
63
63
  prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
@@ -96,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
96
96
  version: '0'
97
97
  requirements: []
98
98
  rubyforge_project:
99
- rubygems_version: 2.2.2
99
+ rubygems_version: 2.4.8
100
100
  signing_key:
101
101
  specification_version: 4
102
102
  summary: Find a series airing on Crunchyroll.