my_shows 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,4 @@
1
- Copyright (c) 2012 Paul Nikitochkin
1
+ Copyright (c) 2012-2013 Paul Nikitochkin
2
2
 
3
3
  MIT License
4
4
 
@@ -19,4 +19,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
19
  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
20
  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
21
  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -1,24 +1,38 @@
1
1
  # MyShows
2
2
 
3
- TODO: Write a gem description
3
+ Allows you to find and download new unwatched favorite episodes in a good quality automatically.
4
+ The only thing you need to do is to make a list of TV shows on the site SideReel, install MyShows and enjoy the watching.
4
5
 
5
6
  ## Installation
6
7
 
7
- Add this line to your application's Gemfile:
8
+ gem install my_shows
8
9
 
9
- gem 'my_shows'
10
+ ## Ruby Installation
11
+ On a Mac, open /Applications/Utilities/Terminal.app and type:
10
12
 
11
- And then execute:
13
+ ruby -v
12
14
 
13
- $ bundle
15
+ If the output looks something like this, you're in good shape:
14
16
 
15
- Or install it yourself as:
17
+ ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-darwin12.2.1]
16
18
 
17
- $ gem install my_shows
19
+ If the output looks more like this, you need to [install Ruby](http://www.ruby-lang.org/en/downloads/):
20
+
21
+ ruby: command not found
18
22
 
19
23
  ## Usage
20
24
 
21
- TODO: Write usage instructions here
25
+ Typing `my_shows` at console and it automatically starts:
26
+
27
+ my_shows
28
+
29
+ ![Screenshot](https://github.com/pftg/my_shows/raw/update_description/screenshots/screenshot.png)
30
+
31
+ ## Features
32
+
33
+ * Unofficial SideReel API client.
34
+ * Automatically find and download new unwatched episodes.
35
+ * Designed for Mac OS X and for other OS is planned.
22
36
 
23
37
  ## Contributing
24
38
 
@@ -27,3 +41,9 @@ TODO: Write usage instructions here
27
41
  3. Commit your changes (`git commit -am 'Add some feature'`)
28
42
  4. Push to the branch (`git push origin my-new-feature`)
29
43
  5. Create new Pull Request
44
+
45
+ ## Copyright
46
+
47
+ Copyright (c) 2012-2013 Paul Nikitochkin. See [LICENSE][] for details.
48
+
49
+ [license]: LICENSE.md
data/lib/my_shows.rb CHANGED
@@ -10,6 +10,7 @@ require 'fuzzystringmatch'
10
10
  require 'colorize'
11
11
 
12
12
  require 'my_shows/logger'
13
+ require 'my_shows/launcher'
13
14
  require 'my_shows/auth'
14
15
  require 'my_shows/sidereel_client'
15
16
  require 'my_shows/show'
@@ -37,7 +38,7 @@ module MyShows
37
38
  def enque_to_download links
38
39
  links.each do |link|
39
40
  logger.debug "Enque #{link}"
40
- `open '#{link}'`
41
+ Launchy::Application::General.new.open(["#{URI(link).to_s}"])
41
42
  end
42
43
  end
43
44
 
@@ -0,0 +1,51 @@
1
+ require 'launchy'
2
+
3
+ class Launchy::Application
4
+ #
5
+ # The class handling the browser application and all of its schemes
6
+ #
7
+ class General < Launchy::Application
8
+ def self.handles?(uri)
9
+ true
10
+ end
11
+
12
+ def windows_app_list
13
+ ['start /b']
14
+ end
15
+
16
+ def cygwin_app_list
17
+ ['cmd /C start /b']
18
+ end
19
+
20
+ def darwin_app_list
21
+ [find_executable("open")]
22
+ end
23
+
24
+ def nix_app_list
25
+ %w[ xdg-open ]
26
+ end
27
+
28
+ # use a call back mechanism to get the right app_list that is decided by the
29
+ # host_os_family class.
30
+ def app_list
31
+ host_os_family.app_list(self)
32
+ end
33
+
34
+ def cmd
35
+ possibilities = app_list.flatten
36
+ possibilities.each do |p|
37
+ Launchy.log "#{self.class.name} : possibility : #{p}"
38
+ end
39
+ if (cmdline = possibilities.shift)
40
+ Launchy.log "#{self.class.name} : Using browser value '#{cmdline}'"
41
+ return cmdline
42
+ end
43
+ raise Launchy::CommandNotFoundError, "Unable to find a browser command. If this is unexpected, #{Launchy.bug_report_message}"
44
+ end
45
+
46
+
47
+ def open(uri, options = {})
48
+ run(cmd, uri)
49
+ end
50
+ end
51
+ end
@@ -1,3 +1,3 @@
1
1
  module MyShows
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/my_shows.gemspec CHANGED
@@ -25,4 +25,5 @@ Gem::Specification.new do |gem|
25
25
  gem.add_dependency('netrc', '~> 0.7.7')
26
26
  gem.add_dependency('nokogiri')
27
27
  gem.add_dependency('colorize')
28
+ gem.add_dependency('launchy')
28
29
  end
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: my_shows
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-04 00:00:00.000000000 Z
12
+ date: 2013-03-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: hashie
@@ -107,6 +107,22 @@ dependencies:
107
107
  - - ! '>='
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: launchy
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
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
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
110
126
  description: My Shows get list of next episodes from Sidereel.com, find torrent links
111
127
  and enque them to download
112
128
  email:
@@ -117,30 +133,23 @@ extensions: []
117
133
  extra_rdoc_files: []
118
134
  files:
119
135
  - .gitignore
120
- - .idea/.name
121
- - .idea/.rakeTasks
122
- - .idea/encodings.xml
123
- - .idea/misc.xml
124
- - .idea/modules.xml
125
- - .idea/my_shows.iml
126
- - .idea/scopes/scope_settings.xml
127
- - .idea/vcs.xml
128
- - .idea/workspace.xml
129
136
  - .rvmrc
130
137
  - Gemfile
131
- - LICENSE.txt
138
+ - LICENSE.md
132
139
  - README.md
133
140
  - Rakefile
134
141
  - bin/my_shows
135
142
  - lib/my_shows.rb
136
143
  - lib/my_shows/auth.rb
137
144
  - lib/my_shows/episode.rb
145
+ - lib/my_shows/launcher.rb
138
146
  - lib/my_shows/logger.rb
139
147
  - lib/my_shows/show.rb
140
148
  - lib/my_shows/sidereel_client.rb
141
149
  - lib/my_shows/the_pirate_bay_client.rb
142
150
  - lib/my_shows/version.rb
143
151
  - my_shows.gemspec
152
+ - screenshots/screenshot.png
144
153
  homepage: http://github.com/pftg/my_shows
145
154
  licenses: []
146
155
  post_install_message:
@@ -153,18 +162,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
153
162
  - - ! '>='
154
163
  - !ruby/object:Gem::Version
155
164
  version: '0'
156
- segments:
157
- - 0
158
- hash: -1910858514683235095
159
165
  required_rubygems_version: !ruby/object:Gem::Requirement
160
166
  none: false
161
167
  requirements:
162
168
  - - ! '>='
163
169
  - !ruby/object:Gem::Version
164
170
  version: '0'
165
- segments:
166
- - 0
167
- hash: -1910858514683235095
168
171
  requirements: []
169
172
  rubyforge_project:
170
173
  rubygems_version: 1.8.25
data/.idea/.name DELETED
@@ -1 +0,0 @@
1
- my_shows
data/.idea/.rakeTasks DELETED
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Settings><!--This file was automatically generated by Ruby plugin.
3
- You are allowed to:
4
- 1. Remove rake task
5
- 2. Add existing rake tasks
6
- To add existing rake tasks automatically delete this file and reload the project.
7
- --><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build my_shows-0.0.1.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Build and install my_shows-0.0.1.gem into system gems" fullCmd="install" taksId="install" /><RakeTask description="Create tag v0.0.1 and build and push my_shows-0.0.1.gem to Rubygems" fullCmd="release" taksId="release" /></RakeGroup></Settings>
data/.idea/encodings.xml DELETED
@@ -1,5 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
4
- </project>
5
-
data/.idea/misc.xml DELETED
@@ -1,25 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectInspectionProfilesVisibleTreeState">
4
- <entry key="Project Default">
5
- <profile-state>
6
- <expanded-state>
7
- <State>
8
- <id />
9
- </State>
10
- </expanded-state>
11
- <selected-state>
12
- <State>
13
- <id>CSS</id>
14
- </State>
15
- </selected-state>
16
- </profile-state>
17
- </entry>
18
- </component>
19
- <component name="ProjectResources">
20
- <default-html-doctype>http://www.w3.org/1999/xhtml</default-html-doctype>
21
- </component>
22
- <component name="ProjectRootManager" version="2" project-jdk-name="RVM: ruby-1.9.3-p374" project-jdk-type="RUBY_SDK" />
23
- <component name="RegexUtilComponent" text="1900-01-01 2007/08/13 1900.01.01 1900 01 01 1900-01.01 1900 13 01 1900 02 31" flags="0" regex="(19|20)\d\d([- /.])(0[1-9]|1[012])\2(0[1-9]|[12][0-9]|3[01])" mode="0" />
24
- </project>
25
-
data/.idea/modules.xml DELETED
@@ -1,9 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/my_shows.iml" filepath="$PROJECT_DIR$/.idea/my_shows.iml" />
6
- </modules>
7
- </component>
8
- </project>
9
-
data/.idea/my_shows.iml DELETED
@@ -1,32 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="RUBY_MODULE" version="4">
3
- <component name="FacetManager">
4
- <facet type="gem" name="Gem">
5
- <configuration>
6
- <option name="GEM_APP_ROOT_PATH" value="" />
7
- <option name="GEM_APP_TEST_PATH" value="" />
8
- <option name="GEM_APP_LIB_PATH" value="" />
9
- </configuration>
10
- </facet>
11
- </component>
12
- <component name="NewModuleRootManager">
13
- <content url="file://$MODULE_DIR$" />
14
- <orderEntry type="inheritedJdk" />
15
- <orderEntry type="sourceFolder" forTests="false" />
16
- <orderEntry type="library" scope="PROVIDED" name="RubyInline (v3.11.4, RVM: ruby-1.9.3-p374) [gem]" level="application" />
17
- <orderEntry type="library" scope="PROVIDED" name="ZenTest (v4.8.3, RVM: ruby-1.9.3-p374) [gem]" level="application" />
18
- <orderEntry type="library" scope="PROVIDED" name="awesome_print (v1.1.0, RVM: ruby-1.9.3-p374) [gem]" level="application" />
19
- <orderEntry type="library" scope="PROVIDED" name="bundler (v1.2.3, RVM: ruby-1.9.3-p374) [gem]" level="application" />
20
- <orderEntry type="library" scope="PROVIDED" name="colorize (v0.5.8, RVM: ruby-1.9.3-p374) [gem]" level="application" />
21
- <orderEntry type="library" scope="PROVIDED" name="faraday (v0.8.4, RVM: ruby-1.9.3-p374) [gem]" level="application" />
22
- <orderEntry type="library" scope="PROVIDED" name="faraday_middleware (v0.9.0, RVM: ruby-1.9.3-p374) [gem]" level="application" />
23
- <orderEntry type="library" scope="PROVIDED" name="fuzzy-string-match (v0.9.4, RVM: ruby-1.9.3-p374) [gem]" level="application" />
24
- <orderEntry type="library" scope="PROVIDED" name="hashie (v1.2.0, RVM: ruby-1.9.3-p374) [gem]" level="application" />
25
- <orderEntry type="library" scope="PROVIDED" name="multipart-post (v1.1.5, RVM: ruby-1.9.3-p374) [gem]" level="application" />
26
- <orderEntry type="library" scope="PROVIDED" name="netrc (v0.7.7, RVM: ruby-1.9.3-p374) [gem]" level="application" />
27
- <orderEntry type="library" scope="PROVIDED" name="nokogiri (v1.5.6, RVM: ruby-1.9.3-p374) [gem]" level="application" />
28
- <orderEntry type="library" scope="PROVIDED" name="rake (v10.0.2, RVM: ruby-1.9.3-p374) [gem]" level="application" />
29
- <orderEntry type="library" scope="PROVIDED" name="rspec-core (v2.12.1, RVM: ruby-1.9.3-p374) [gem]" level="application" />
30
- </component>
31
- </module>
32
-
@@ -1,5 +0,0 @@
1
- <component name="DependencyValidationManager">
2
- <state>
3
- <option name="SKIP_IMPORT_STATEMENTS" value="false" />
4
- </state>
5
- </component>
data/.idea/vcs.xml DELETED
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="" vcs="Git" />
5
- </component>
6
- </project>
7
-