crunchyroll 0.9.8.1 → 0.9.9

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.
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.