robbie 2.0.1 → 2.1.0

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: b13ec5a7421307b16ee798ca983aab5270da5b76
4
- data.tar.gz: 74785a9d367a49b6197e0361868aa73fbfcbda7a
3
+ metadata.gz: 6dd30b7ec003d2d52b6ff91563c34d5fd54f92d5
4
+ data.tar.gz: 628def2f049252b0816beaaff19ddc78701157ea
5
5
  SHA512:
6
- metadata.gz: 1c5af80c46720a42175c7e35a4213105d9960728c10a8bc0f9bb9852165121bc2648a615c5723542df0b82286daf794a5bd172c5df6cfb4d5a05ad8a46d49930
7
- data.tar.gz: 8d4309b2338c91d4c3c9c12958b026e09167094360ef652d377dee2b246bd4afc5ef80c615e7a02665257bc2ed6e872ec7c7326e805a8beb25f6203b18bb296c
6
+ metadata.gz: 48c21f51693f56f328bd999cdee92ff916f18b17677f6851b1fa146e4007f2d234e33d2c912dbe69e8a0d459e89fbc768da6abc2175119e892e64a0eba10a6bb
7
+ data.tar.gz: e5aaa2ecdeeafe1f74210151d2922c016926dedb6b77f3f5ddb9c32f79cc824ae45ceea4147df3a6b238f7a51a7a22a99ab0c98d021d1c77e9aa37556e63ebad
data/README.md CHANGED
@@ -1,36 +1,24 @@
1
1
  # robbie
2
- Media metadata aggregating CLI
2
+ Media Information at your Fingertips
3
3
 
4
4
  <img align="right" height="260" src="http://poile.me/robbie/img/logo.png">
5
5
 
6
- ## Resources
6
+ ## Docs
7
+ ### `robbie`, the friendly robot
7
8
 
8
- ### Movies/TV Shows
9
- - [OMDB gem](https://github.com/jvanbaarsen/omdb)
10
- - [CanIStreamIt API](https://github.com/KevinBongart/canistreamit)
9
+ Primarily you'll be using `info`, if you know what you want, but you can also use `search` if you're looking to find something general.
11
10
 
12
- ### Music
13
- - [SoundCloud API 1](https://developers.soundcloud.com/docs/api/guide)
14
- - [SoundCloud API 2](https://developers.soundcloud.com/docs/api/sdks)
15
- - [SoundCloud gem](https://github.com/soundcloud/soundcloud-ruby)
16
-
17
- ### Books
18
- - [GoodReads API](http://www.goodreads.com/api)
19
- - [Goodreads gem](https://github.com/sosedoff/goodreads)
20
-
21
- ## Ideas/Planning
22
- ### `robbie`, the main command
23
11
  Specify one of the following afterwards (as well as as a title for the media)
24
12
  - `movie`
25
13
 
26
14
  ```bash
27
- robbie movie "Hitchhiker's Guide to the Galaxy"
15
+ robbie info movie "Hitchhiker's Guide to the Galaxy"
28
16
  ```
29
17
 
30
18
  - `tv`
31
19
 
32
20
  ```bash
33
- robbie tv "Rick and Morty"
21
+ robbie search tv "Rick and Morty" # =>
34
22
  ```
35
23
 
36
24
  - `music`
@@ -32,7 +32,10 @@ module Command
32
32
  when 'tv' then Request.tv(@args)
33
33
  when 'actor' then Request.actor(@args)
34
34
  when 'book' then Request.book(@args)
35
- when 'id' then Request.id(@args)
35
+ when 'song' then Request.song(@args)
36
+ when 'album' then Request.album(@args)
37
+ when 'artist' then Request.artist(@args)
38
+ when 'id' then Request.id(@args) # currently only works for movie and tv show
36
39
  else help end
37
40
  end
38
41
 
@@ -17,11 +17,49 @@ module Request
17
17
  puts "Title: \t\t #{@json["Title"]}"
18
18
  puts "Plot: \t\t #{@json["Plot"]}"
19
19
  puts "Poster: \t #{@json["Poster"]}"
20
- puts "Poster: \t #{@json["Actors"]}"
20
+ puts "Actors: \t #{@json["Actors"]}"
21
21
  puts "Rating: \t\t #{@json["imdbRating"]}"
22
22
  end
23
23
 
24
+ def artist(args) # to do
25
+ @artist = URI.escape(args.shift)
26
+ @res = HTTP.get("http://ws.audioscrobbler.com/2.0/?method=artist.getInfo&artist=#{@artist}&api_key=0a7d3b25ed857f679eba1a353e98a658&format=json").body
27
+ @json = JSON.parse(@res)
28
+
29
+ puts @json['artist']['bio']['summary']
30
+ end
31
+
32
+ def song(args) # to do
33
+ # Requires track title and artist name
34
+ @song = URI.escape(args.shift)
35
+ @artist = URI.escape(args.shift)
36
+ @res = HTTP.get("http://ws.audioscrobbler.com/2.0/?method=track.getInfo&track=#{@song}&artist=#{@artist}&api_key=0a7d3b25ed857f679eba1a353e98a658&format=json").body
37
+ @json = JSON.parse(@res)
38
+
39
+ puts "Title: \t\t#{@json['track']['name']}"
40
+ puts "Artist: \t#{@json['track']['artist']['name']}"
41
+ puts "Year: \t\t#{@json['track']['wiki']['published']}"
42
+ end
43
+
44
+ def album(args) # works, sort of
45
+ # Requires artist and album
46
+ @album = URI.escape(args.shift)
47
+ @artist = URI.escape(args.shift)
48
+ @res = HTTP.get("http://ws.audioscrobbler.com/2.0/?method=album.getInfo&artist=#{@artist}&album=#{@album}&api_key=0a7d3b25ed857f679eba1a353e98a658&format=json").body
49
+ @json = JSON.parse(@res)
50
+
51
+ puts "Title: \t\t#{puts @json['album']['name']}"
52
+ puts "Artist: \t#{@json['album']['artist']}"
53
+ puts "Year: \t\t#{@json['album']['wiki']['published']}"
54
+ puts "Tracks: \t"
55
+
56
+ @json['album']['tracks']['track'].each do |track|
57
+ puts "\t#{track['name']}"
58
+ end
59
+ end
60
+
24
61
  def movie(title)
62
+ puts "title: #{title}"
25
63
  Bitly.use_api_version_3
26
64
 
27
65
  bitly = Bitly.new('benp51', 'R_886e9ca24b25c1e91d66f5c6379568a9')
data/lib/robbie/search.rb CHANGED
@@ -7,6 +7,10 @@ module Search
7
7
  module_function
8
8
 
9
9
  def movie(title)
10
+ if title.empty?
11
+ puts "You need to specify a movie to query"
12
+ exit
13
+ end
10
14
  title = URI.escape(title.first)
11
15
  url = "http://www.omdbapi.com/?type=movie&r=json&s="+title
12
16
  omdbData = JSON.parse(HTTP.get('http://www.omdbapi.com/?type=movie&r=json&s='+title).body)
@@ -16,6 +20,10 @@ module Search
16
20
  end
17
21
 
18
22
  def tv (title)
23
+ if title.nil?
24
+ puts "You need to specify a TV show to query"
25
+ exit
26
+ end
19
27
  title = URI.escape(title.first)
20
28
  omdbData = JSON.parse(HTTP.get('http://www.omdbapi.com/?type=series&r=json&s='+title).body)
21
29
  puts "- #{omdbData["Search"][0]["Title"]} (#{omdbData["Search"][0]["Year"]}) /#{omdbData["Search"][0]["imdbID"]}"
@@ -24,6 +32,10 @@ module Search
24
32
  end
25
33
 
26
34
  def actor (name)
35
+ if name.nil?
36
+ puts "You need to specify an actor/actress to query"
37
+ exit
38
+ end
27
39
  name = URI.escape(name.first)
28
40
  myApiFilms = JSON.parse(HTTP.get("http://www.myapifilms.com/imdb/idIMDB?name=#{name}&token=8e26a029-8cf1-4dd7-89bd-889bf5e74cbd&format=json&language=en-us&limit=1&bornDied=1").body)
29
41
 
@@ -1,4 +1,4 @@
1
1
  module Robbie
2
- VERSION = '2.0.1'
2
+ VERSION = '2.1.0'
3
3
  E_VERSION = "robbie v#{VERSION}"
4
4
  end
data/lib/robbie.rb CHANGED
@@ -3,7 +3,7 @@ require_relative 'robbie/version'
3
3
  require_relative 'robbie/command'
4
4
  require 'rainbow'
5
5
 
6
- module Marvin
6
+ module Robbie
7
7
  module_function #ily
8
8
 
9
9
  def run(*args)
@@ -21,9 +21,9 @@ module Marvin
21
21
  case @first
22
22
  when 'search' then Command.search(@args)
23
23
  when 'info' then Command.info(@args)
24
- when 'version', '--version' then puts Marvin::E_VERSION
24
+ when 'version', '--version' then puts Robbie::E_VERSION
25
25
  when 'help', '--help' then Command.help(@args)
26
- else puts "marvin: '#{@first}' is not a marvin command. See 'marvin --help'."
26
+ else puts "robbie: '#{@first}' is not a robbie command. See 'robbie --help'."
27
27
  end
28
28
  end
29
29
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: robbie
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Poile
@@ -130,7 +130,6 @@ files:
130
130
  - bin/robbie
131
131
  - lib/robbie.rb
132
132
  - lib/robbie/command.rb
133
- - lib/robbie/keys.json
134
133
  - lib/robbie/request.rb
135
134
  - lib/robbie/search.rb
136
135
  - lib/robbie/version.rb
data/lib/robbie/keys.json DELETED
@@ -1,9 +0,0 @@
1
- {
2
- "goodreads": {
3
- "public": "oSMwxqaPNr0o1PYs2Jddg",
4
- "private": "qbOgJbyCF64rAXuMINjIpCCAONULQcIRh7gcDB5uds"
5
- },
6
- "myapifilms": {
7
- "public": "8e26a029-8cf1-4dd7-89bd-889bf5e74cbd"
8
- }
9
- }