streamio-cli 0.0.1 → 0.5.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.
- data/README.md +33 -16
- data/lib/streamio-cli.rb +7 -7
- data/lib/streamio-cli/version.rb +2 -2
- metadata +3 -3
data/README.md
CHANGED
@@ -1,29 +1,46 @@
|
|
1
|
-
# Streamio
|
1
|
+
# Streamio CLI (Command Line Interface)
|
2
2
|
|
3
|
-
|
3
|
+
A gem for interacting with Streamio through the command line.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
7
|
-
|
7
|
+
gem install streamio-exporter
|
8
8
|
|
9
|
-
|
9
|
+
## Usage
|
10
10
|
|
11
|
-
|
11
|
+
After installation you can use the streamio command from your
|
12
|
+
terminal. To get a list of available tasks run `streamio` without
|
13
|
+
any arguments.
|
12
14
|
|
13
|
-
|
15
|
+
To get help on a specific task run `streamio help name_of_task`.
|
16
|
+
For example run `streamio help export` to get usage scenario
|
17
|
+
and available options for the export task.
|
14
18
|
|
15
|
-
|
19
|
+
### Export
|
16
20
|
|
17
|
-
|
21
|
+
You can use the export task to download all videos and audios
|
22
|
+
from your Streamio account. First use your terminal to navigate
|
23
|
+
to a directory where you wish the export to be downloaded to.
|
24
|
+
Then use the command together with your api username and password
|
25
|
+
found under Account Settings > API when logged in to streamio.com.
|
18
26
|
|
19
|
-
|
27
|
+
streamio export -u api_username -p api_password
|
28
|
+
|
29
|
+
By default only the original files will be downloaded. If you
|
30
|
+
wish to include transcodings you may add the `-i` parameter.
|
31
|
+
|
32
|
+
streamio export -u api_username -p api_password -i
|
33
|
+
|
34
|
+
The export will use the following file structure for the downloads:
|
35
|
+
|
36
|
+
streamio-export/videos/<video_id>/<video_filename>
|
37
|
+
streamio-export/audios/<audio_id>/<audio_filename>
|
20
38
|
|
21
|
-
|
39
|
+
A json file containing the metadata of each resource will also
|
40
|
+
be availible:
|
22
41
|
|
23
|
-
|
42
|
+
streamio-export/videos/<video_id>/<video_id>.json
|
43
|
+
streamio-export/videos/<audio_id>/<audio_id>.json
|
24
44
|
|
25
|
-
|
26
|
-
|
27
|
-
3. Commit your changes (`git commit -am 'Add some feature'`)
|
28
|
-
4. Push to the branch (`git push origin my-new-feature`)
|
29
|
-
5. Create new Pull Request
|
45
|
+
Note that it is likely that you will need a developer to actually
|
46
|
+
make use of the exported material.
|
data/lib/streamio-cli.rb
CHANGED
@@ -6,11 +6,11 @@ require 'streamio'
|
|
6
6
|
require 'ruby-progressbar'
|
7
7
|
require 'streamio-cli/version'
|
8
8
|
|
9
|
-
module Streamio
|
9
|
+
module Streamio::CLI
|
10
10
|
class SlowDownloadError < StandardError
|
11
11
|
end
|
12
12
|
|
13
|
-
class
|
13
|
+
class App < Thor
|
14
14
|
desc "export", "export data from target account"
|
15
15
|
method_option :username, :desc => 'api username', :aliases => '-u', :required => true
|
16
16
|
method_option :password, :desc => 'api password', :aliases => '-p', :required => true
|
@@ -34,12 +34,12 @@ module Streamio
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def download_videos
|
37
|
-
number_of_items = Video.count
|
37
|
+
number_of_items = ::Streamio::Video.count
|
38
38
|
current_item = 0
|
39
39
|
requests_needed = (number_of_items / 100) + 1
|
40
40
|
|
41
41
|
requests_needed.times do |i|
|
42
|
-
Video.all(:skip => i * 100, :limit => 100).each do |video|
|
42
|
+
::Streamio::Video.all(:skip => i * 100, :limit => 100).each do |video|
|
43
43
|
current_item += 1
|
44
44
|
puts "\nVideo #{current_item} / #{number_of_items} - #{video.title} - #{video.id}"
|
45
45
|
|
@@ -59,12 +59,12 @@ module Streamio
|
|
59
59
|
end
|
60
60
|
|
61
61
|
def download_audios
|
62
|
-
number_of_items = Audio.count
|
62
|
+
number_of_items = ::Streamio::Audio.count
|
63
63
|
current_item = 0
|
64
64
|
requests_needed = (number_of_items / 100) + 1
|
65
65
|
|
66
66
|
requests_needed.times do |i|
|
67
|
-
Audio.all(:skip => i * 100, :limit => 100).each do |audio|
|
67
|
+
::Streamio::Audio.all(:skip => i * 100, :limit => 100).each do |audio|
|
68
68
|
current_item += 1
|
69
69
|
puts "\nAudio #{current_item} / #{number_of_items}: #{audio.title}"
|
70
70
|
|
@@ -130,4 +130,4 @@ module Streamio
|
|
130
130
|
end
|
131
131
|
end
|
132
132
|
|
133
|
-
Streamio::CLI.start
|
133
|
+
Streamio::CLI::App.start
|
data/lib/streamio-cli/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: streamio-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.5.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -103,7 +103,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
103
103
|
version: '0'
|
104
104
|
segments:
|
105
105
|
- 0
|
106
|
-
hash: -
|
106
|
+
hash: -2975853809125404003
|
107
107
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
108
|
none: false
|
109
109
|
requirements:
|
@@ -112,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
112
112
|
version: '0'
|
113
113
|
segments:
|
114
114
|
- 0
|
115
|
-
hash: -
|
115
|
+
hash: -2975853809125404003
|
116
116
|
requirements: []
|
117
117
|
rubyforge_project:
|
118
118
|
rubygems_version: 1.8.24
|