my_shows 0.0.5 → 0.0.6
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 +7 -0
- data/Gemfile +2 -1
- data/lib/my_shows.rb +19 -6
- data/lib/my_shows/episode.rb +6 -1
- data/lib/my_shows/show.rb +13 -8
- data/lib/my_shows/version.rb +1 -1
- data/my_shows.gemspec +1 -0
- metadata +27 -30
- data/.rvmrc +0 -1
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: affacc0b266251e124dbfcb358266b05b9f185e4
|
4
|
+
data.tar.gz: 0338627a95dbfdb1445379c15e4db3ffeffa8600
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e80f9bcb05f9025fc2c90944158c45b074aee3d0c0a7e0abb8a4cc1e9b1b954db6a0bed4a753d7244210ee11b18377eb8256699ab0d723279e99d82f144f745b
|
7
|
+
data.tar.gz: a95130161635485784525bd6df1bf32d725e7528493cf5f1386acdce3c3e5411b6502c9f83cc92b911f6033580d9c819bae4bee98c184d773c627a220f4182d5
|
data/Gemfile
CHANGED
data/lib/my_shows.rb
CHANGED
@@ -8,6 +8,7 @@ require 'bundler/setup'
|
|
8
8
|
require 'netrc'
|
9
9
|
require 'fuzzystringmatch'
|
10
10
|
require 'colorize'
|
11
|
+
require 'pmap'
|
11
12
|
|
12
13
|
require 'my_shows/logger'
|
13
14
|
require 'my_shows/launcher'
|
@@ -30,22 +31,34 @@ module MyShows
|
|
30
31
|
end
|
31
32
|
|
32
33
|
def lookup_magnet_links(shows)
|
33
|
-
shows.
|
34
|
-
show.episode.torrent_link!
|
35
|
-
|
34
|
+
shows.pmap do |show|
|
35
|
+
link = show.episode.torrent_link!
|
36
|
+
|
37
|
+
if link
|
38
|
+
logger.debug "Found #{link[0...10]} for #{show.name}!"
|
39
|
+
else
|
40
|
+
logger.debug "Not Found any links for #{show.name}!"
|
41
|
+
end
|
42
|
+
|
43
|
+
link
|
44
|
+
end.compact
|
36
45
|
end
|
37
46
|
|
38
47
|
def enque_to_download(links)
|
39
48
|
links.each do |link|
|
40
|
-
logger.info "Enque #{URI(link).to_s}"
|
41
49
|
sleep 5
|
42
|
-
|
50
|
+
uri = URI(link).to_s
|
51
|
+
logger.info "Enque #{uri}"
|
52
|
+
Launchy::Application::General.new.open([uri])
|
43
53
|
end
|
44
54
|
end
|
45
55
|
|
46
56
|
def start(*args)
|
47
57
|
print_header
|
48
58
|
configure_client
|
59
|
+
|
60
|
+
#TODO: Episode.next_unwatched.with_links.peach { |episode| print_episode episode; enquee_to_download episode; }
|
61
|
+
|
49
62
|
shows = Show.next_episodes
|
50
63
|
links = lookup_magnet_links(shows)
|
51
64
|
print_episodes shows
|
@@ -73,6 +86,6 @@ module MyShows
|
|
73
86
|
end
|
74
87
|
|
75
88
|
if __FILE__ == $0
|
76
|
-
MyShows.logger.level = ::Logger::
|
89
|
+
MyShows.logger.level = ::Logger::WARN
|
77
90
|
MyShows::CLI.start
|
78
91
|
end
|
data/lib/my_shows/episode.rb
CHANGED
@@ -2,6 +2,9 @@ require 'my_shows/the_pirate_bay_client'
|
|
2
2
|
|
3
3
|
module MyShows
|
4
4
|
class Episode
|
5
|
+
MAPPING_SHOW_NAMES = Hash.new { |hash, key| hash[key] = key }
|
6
|
+
MAPPING_SHOW_NAMES['Avatar: Legend of Korra'] = 'The Legend Of Korra'
|
7
|
+
|
5
8
|
@@jarow = FuzzyStringMatch::JaroWinkler.create(:native)
|
6
9
|
@@tracker = ThePirateBayClient.new
|
7
10
|
|
@@ -23,6 +26,8 @@ module MyShows
|
|
23
26
|
return self.magnet_link if torrent_link_with_ext_keyword(keyword)
|
24
27
|
end
|
25
28
|
end
|
29
|
+
|
30
|
+
nil
|
26
31
|
end
|
27
32
|
|
28
33
|
def torrent_link_with_ext_keyword(keyword)
|
@@ -44,7 +49,7 @@ module MyShows
|
|
44
49
|
end
|
45
50
|
|
46
51
|
def to_s
|
47
|
-
'%s s%02de%02d' % [show.name, season, episode]
|
52
|
+
'%s s%02de%02d' % [MAPPING_SHOW_NAMES[show.name], season, episode]
|
48
53
|
end
|
49
54
|
end
|
50
55
|
end
|
data/lib/my_shows/show.rb
CHANGED
@@ -4,25 +4,30 @@ require 'hashie/mash'
|
|
4
4
|
module MyShows
|
5
5
|
class Show < Hashie::Mash
|
6
6
|
def self.client
|
7
|
-
@client ||= SidereelClient.new ENV[
|
7
|
+
@client ||= SidereelClient.new ENV['SIDEREEL_USERNAME'], ENV['SIDEREEL_PASSWORD']
|
8
8
|
end
|
9
9
|
|
10
10
|
def self.client= client
|
11
11
|
@client = client
|
12
12
|
end
|
13
13
|
|
14
|
-
def initialize
|
14
|
+
def initialize(*attrs)
|
15
15
|
super
|
16
16
|
attrs.last[:episode].show = self if attrs.last && attrs.last[:episode]
|
17
17
|
end
|
18
18
|
|
19
19
|
def self.next_episodes
|
20
|
-
client.tracked_tv_shows.first[1].map(&:tv_show).reject do |
|
21
|
-
MyShows.logger.debug "TV Show data: #{
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
20
|
+
client.tracked_tv_shows.first[1].map(&:tv_show).reject do |show_data|
|
21
|
+
MyShows.logger.debug "TV Show data: #{show_data.inspect}"
|
22
|
+
next_episode = show_data.next_episode
|
23
|
+
next_episode.nil? || next_episode.is_upcoming
|
24
|
+
end.map do |show_data|
|
25
|
+
next_episode_data = show_data.next_episode
|
26
|
+
|
27
|
+
episode = MyShows::Episode.new(season: next_episode_data.season_number,
|
28
|
+
episode: next_episode_data.season_ordinal)
|
29
|
+
|
30
|
+
Show.new name: show_data.complete_name, episode: episode
|
26
31
|
end
|
27
32
|
end
|
28
33
|
end
|
data/lib/my_shows/version.rb
CHANGED
data/my_shows.gemspec
CHANGED
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: my_shows
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.6
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Paul Nikitochkin
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-09-28 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: hashie
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,7 +27,6 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: faraday_middleware
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,7 +41,6 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: fuzzy-string-match
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ~>
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,7 +48,6 @@ dependencies:
|
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ~>
|
60
53
|
- !ruby/object:Gem::Version
|
@@ -62,7 +55,6 @@ dependencies:
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: netrc
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
59
|
- - ~>
|
68
60
|
- !ruby/object:Gem::Version
|
@@ -70,7 +62,6 @@ dependencies:
|
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
66
|
- - ~>
|
76
67
|
- !ruby/object:Gem::Version
|
@@ -78,49 +69,57 @@ dependencies:
|
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: nokogiri
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - '>='
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: '0'
|
86
76
|
type: :runtime
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - '>='
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: '0'
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: colorize
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - '>='
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: '0'
|
102
90
|
type: :runtime
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- -
|
94
|
+
- - '>='
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: '0'
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: launchy
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
|
-
- -
|
101
|
+
- - '>='
|
116
102
|
- !ruby/object:Gem::Version
|
117
103
|
version: '0'
|
118
104
|
type: :runtime
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
|
-
- -
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: pmap
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - '>='
|
124
123
|
- !ruby/object:Gem::Version
|
125
124
|
version: '0'
|
126
125
|
description: My Shows get list of next episodes from Sidereel.com, find torrent links
|
@@ -133,7 +132,6 @@ extensions: []
|
|
133
132
|
extra_rdoc_files: []
|
134
133
|
files:
|
135
134
|
- .gitignore
|
136
|
-
- .rvmrc
|
137
135
|
- Gemfile
|
138
136
|
- LICENSE.md
|
139
137
|
- README.md
|
@@ -152,26 +150,25 @@ files:
|
|
152
150
|
- screenshots/screenshot.png
|
153
151
|
homepage: http://github.com/pftg/my_shows
|
154
152
|
licenses: []
|
153
|
+
metadata: {}
|
155
154
|
post_install_message:
|
156
155
|
rdoc_options: []
|
157
156
|
require_paths:
|
158
157
|
- lib
|
159
158
|
required_ruby_version: !ruby/object:Gem::Requirement
|
160
|
-
none: false
|
161
159
|
requirements:
|
162
|
-
- -
|
160
|
+
- - '>='
|
163
161
|
- !ruby/object:Gem::Version
|
164
162
|
version: '0'
|
165
163
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
166
|
-
none: false
|
167
164
|
requirements:
|
168
|
-
- -
|
165
|
+
- - '>='
|
169
166
|
- !ruby/object:Gem::Version
|
170
167
|
version: '0'
|
171
168
|
requirements: []
|
172
169
|
rubyforge_project:
|
173
|
-
rubygems_version: 1.
|
170
|
+
rubygems_version: 2.1.3
|
174
171
|
signing_key:
|
175
|
-
specification_version:
|
172
|
+
specification_version: 4
|
176
173
|
summary: New TV Show Episodes downloader
|
177
174
|
test_files: []
|
data/.rvmrc
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
rvm use 1.9.3
|