airplay-cli 1.0.1 → 1.0.2
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/bin/air +12 -2
- data/lib/airplay/cli.rb +35 -0
- metadata +9 -17
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a34c7f9420b1c68dc297160cf92bd7bef301da98
|
4
|
+
data.tar.gz: 07b8db72d5b3360b934f1a43da05ce504852964a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: dc6f362d78406675493c70e16683a4c7806fc7ce00950cbdb5d9e61ab5d294795bec3920f93044fb4421f6821bcc48ee6cba76b21f502ae06f4039fb936a667a
|
7
|
+
data.tar.gz: b4e4c9840bf88ddd7c0442407bda79beb79428b637f4cab37fb455f9bdb66aa43c802c4847c2dbf8ac011b1302290c6eebe68ec33b2d73c0e9a5d50c7b34c34c
|
data/bin/air
CHANGED
@@ -7,24 +7,34 @@ require "airplay/cli/version"
|
|
7
7
|
begin
|
8
8
|
Clap.run ARGV,
|
9
9
|
"--device" => lambda { |device_name| @device = Airplay[device_name] },
|
10
|
+
"--url" => lambda { |url| @url = url },
|
10
11
|
"--wait" => lambda { |sec| @wait = sec.to_i },
|
11
12
|
"--interactive" => lambda { @interactive = true },
|
13
|
+
"--password" => lambda { |password| @password = password },
|
12
14
|
|
13
15
|
"help" => Airplay::CLI.method(:help),
|
14
16
|
|
15
17
|
"list" => Airplay::CLI.method(:list),
|
16
18
|
|
19
|
+
"doctor" => Airplay::CLI.method(:doctor),
|
20
|
+
|
17
21
|
"version" => Airplay::CLI.method(:version),
|
18
22
|
|
19
23
|
"play" => lambda { |video|
|
20
|
-
options = {
|
24
|
+
options = {
|
25
|
+
device: @device || Airplay.devices.first,
|
26
|
+
password: @password || false,
|
27
|
+
url: @url || false
|
28
|
+
}
|
21
29
|
Airplay::CLI.play(video, options)
|
22
30
|
},
|
23
31
|
|
24
32
|
"view" => lambda { |file|
|
25
33
|
options = {
|
26
|
-
device: @device || Airplay.devices.first,
|
34
|
+
device: @device || @url ? false : Airplay.devices.first,
|
27
35
|
interactive: @interactive || false,
|
36
|
+
password: @password || false,
|
37
|
+
url: @url || false,
|
28
38
|
wait: @wait || 3
|
29
39
|
}
|
30
40
|
Airplay::CLI.view(file, options)
|
data/lib/airplay/cli.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require "ruby-progressbar"
|
2
2
|
require "airplay"
|
3
3
|
require "airplay/cli/image_viewer"
|
4
|
+
require "airplay/cli/doctor"
|
4
5
|
|
5
6
|
# Public: Airplay core module
|
6
7
|
#
|
@@ -28,12 +29,15 @@ module Airplay
|
|
28
29
|
version - The current airplay-cli version.
|
29
30
|
play - Plays a local or remote video.
|
30
31
|
view - Shows an image or a folder of images, can be an url.
|
32
|
+
doctor - Shows some debug information to trace bugs.
|
31
33
|
|
32
34
|
Options:
|
33
35
|
|
34
36
|
--device - Name of the device where it should be played (Default: The first one)
|
35
37
|
--wait - The wait time for playing an slideshow (Default: 3)
|
36
38
|
--interactive - Control the slideshow using left and right arrows.
|
39
|
+
--password - Adds the device password
|
40
|
+
--url - Allows you to specify an Apple TV url
|
37
41
|
|
38
42
|
EOS
|
39
43
|
end
|
@@ -47,6 +51,8 @@ module Airplay
|
|
47
51
|
puts <<-EOS.gsub(/^\s{12}/,'')
|
48
52
|
* #{device.name} (#{device.info.model} running #{device.info.os_version})
|
49
53
|
ip: #{device.ip}
|
54
|
+
mac: #{device.id}
|
55
|
+
password?: #{device.password? ? "yes" : "no"}
|
50
56
|
type: #{device.type}
|
51
57
|
resolution: #{device.info.resolution}
|
52
58
|
|
@@ -64,6 +70,12 @@ module Airplay
|
|
64
70
|
#
|
65
71
|
def play(video, options)
|
66
72
|
device = options[:device]
|
73
|
+
password = options[:password]
|
74
|
+
url = options[:url]
|
75
|
+
|
76
|
+
Airplay.devices.add("Apple TV", url) if url
|
77
|
+
device.password = password if password
|
78
|
+
|
67
79
|
player = device.play(video)
|
68
80
|
puts "Playing #{video}"
|
69
81
|
bar = ProgressBar.create(
|
@@ -78,6 +90,20 @@ module Airplay
|
|
78
90
|
player.wait
|
79
91
|
end
|
80
92
|
|
93
|
+
def doctor
|
94
|
+
puts <<-EOS.gsub!(" "*10, "")
|
95
|
+
|
96
|
+
This will run some basic tests on your network trying to find errors
|
97
|
+
and debug information to help fix them.
|
98
|
+
|
99
|
+
EOS
|
100
|
+
|
101
|
+
who = Airplay::CLI::Doctor.new
|
102
|
+
|
103
|
+
puts "Running dns-sd tests:"
|
104
|
+
who.information
|
105
|
+
end
|
106
|
+
|
81
107
|
# Public: Show an image given a device
|
82
108
|
#
|
83
109
|
# file_or_dir - The url, file path or folder path to the image/s
|
@@ -90,6 +116,15 @@ module Airplay
|
|
90
116
|
#
|
91
117
|
def view(file_or_dir, options)
|
92
118
|
device = options[:device]
|
119
|
+
password = options[:password]
|
120
|
+
url = options[:url]
|
121
|
+
|
122
|
+
if url
|
123
|
+
Airplay.configure { |c| c.autodiscover = false }
|
124
|
+
device = Airplay.devices.add("Apple TV", url)
|
125
|
+
end
|
126
|
+
device.password = password if password
|
127
|
+
|
93
128
|
viewer = ImageViewer.new(device, options)
|
94
129
|
|
95
130
|
if File.directory?(file_or_dir)
|
metadata
CHANGED
@@ -1,36 +1,32 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: airplay-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- elcuervo
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-05-01 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: airplay
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - '='
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.0.
|
19
|
+
version: 1.0.3
|
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
|
29
|
-
version: 1.0.
|
26
|
+
version: 1.0.3
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: clap
|
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: ruby-progressbar
|
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
|
@@ -73,26 +66,25 @@ homepage: http://github.com/elcuervo/airplay
|
|
73
66
|
licenses:
|
74
67
|
- MIT
|
75
68
|
- HUGWARE
|
69
|
+
metadata: {}
|
76
70
|
post_install_message:
|
77
71
|
rdoc_options: []
|
78
72
|
require_paths:
|
79
73
|
- lib
|
80
74
|
required_ruby_version: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
75
|
requirements:
|
83
|
-
- -
|
76
|
+
- - '>='
|
84
77
|
- !ruby/object:Gem::Version
|
85
78
|
version: '0'
|
86
79
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
87
|
-
none: false
|
88
80
|
requirements:
|
89
|
-
- -
|
81
|
+
- - '>='
|
90
82
|
- !ruby/object:Gem::Version
|
91
83
|
version: '0'
|
92
84
|
requirements: []
|
93
85
|
rubyforge_project:
|
94
|
-
rubygems_version:
|
86
|
+
rubygems_version: 2.0.14
|
95
87
|
signing_key:
|
96
|
-
specification_version:
|
88
|
+
specification_version: 4
|
97
89
|
summary: Airplay CLI
|
98
90
|
test_files: []
|