flick 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/flick +1 -1
- data/lib/flick/android.rb +5 -2
- data/lib/flick/system.rb +8 -0
- data/lib/flick/version.rb +1 -1
- data/lib/flick/video.rb +5 -14
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8fefe51010559fb70ada5f8286e5136f5b9aca04
|
4
|
+
data.tar.gz: 8e97d55ae591cfe30d9c94c52c4de2f7fb40cf9c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4cf40f34b70b122f25d6422b61e5d0032c28d2a5784fd72cee8cdf0a76f4bdc98851b870209687adb19af27a9b7895bd935c132c4abc5bc2c2f5817bd63d813
|
7
|
+
data.tar.gz: a6533405fc53ce22ec840faee7fd44d11f3ce3dc52aa223e13bfaa03d4bcfd84b4e86c88d76f4dfef9d740faabdb76bbbee25dd971f023d5977af6024971db7f
|
data/bin/flick
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
require_relative '../lib/flick'
|
3
3
|
require 'commander/import'
|
4
4
|
|
5
|
-
program :version, '0.3.
|
5
|
+
program :version, '0.3.2'
|
6
6
|
program :description, 'A CLI to capture screenshots, video, logs, and device info for Android (Devices & Emulators) and iOS (Devices).'
|
7
7
|
|
8
8
|
command :video do |c|
|
data/lib/flick/android.rb
CHANGED
@@ -143,7 +143,7 @@ module Flick
|
|
143
143
|
hash.uniq! { |e| e[:md5] }
|
144
144
|
hash.map { |file| file[:file] }
|
145
145
|
end
|
146
|
-
|
146
|
+
|
147
147
|
def pull_files type
|
148
148
|
if unique
|
149
149
|
files = unique_files type
|
@@ -151,7 +151,10 @@ module Flick
|
|
151
151
|
files = %x(adb -s #{udid} shell "ls #{dir_name}/#{type}*").split("\r\n")
|
152
152
|
end
|
153
153
|
return if files.empty?
|
154
|
-
Parallel.map(files, in_threads: 10)
|
154
|
+
Parallel.map(files, in_threads: 10) do |file|
|
155
|
+
pull_file file, flick_dir
|
156
|
+
Flick::System.wait_for_file 10, "#{flick_dir}/#{file.split("/").last}"
|
157
|
+
end
|
155
158
|
end
|
156
159
|
end
|
157
160
|
end
|
data/lib/flick/system.rb
CHANGED
@@ -44,6 +44,14 @@ module Flick
|
|
44
44
|
pids = self.find_pid string
|
45
45
|
self.kill_pids pids
|
46
46
|
end
|
47
|
+
|
48
|
+
def self.wait_for_file time, file
|
49
|
+
start = Time.now
|
50
|
+
until File.exists? file
|
51
|
+
puts "Waiting for #{file} to exist..."
|
52
|
+
sleep 1; break if Time.now - start > time
|
53
|
+
end
|
54
|
+
end
|
47
55
|
|
48
56
|
def self.video_length file
|
49
57
|
(`ffmpeg -i #{file} 2>&1 | grep Duration | cut -d ' ' -f 4 | sed s/,//`).strip
|
data/lib/flick/version.rb
CHANGED
data/lib/flick/video.rb
CHANGED
@@ -92,8 +92,8 @@ class Video
|
|
92
92
|
|
93
93
|
def stop_record
|
94
94
|
Flick::System.kill_process "video", udid #kills recording
|
95
|
-
sleep 5 #wait for video process to finish
|
96
|
-
driver.pull_files "video"
|
95
|
+
sleep 5 #wait for video process to completely finish on device.
|
96
|
+
driver.pull_files "video"
|
97
97
|
files = Dir.glob("#{driver.flick_dir}/video*.mp4")
|
98
98
|
if files.empty?
|
99
99
|
puts "\nError! No video files found in #{driver.flick_dir}\n".red
|
@@ -104,7 +104,7 @@ class Video
|
|
104
104
|
if format == "gif"
|
105
105
|
gif
|
106
106
|
else
|
107
|
-
File.rename "#{driver.flick_dir}/#{driver.name}.mp4", "#{driver.outdir}/#{driver.name}.mp4"
|
107
|
+
File.rename "#{driver.flick_dir}/#{driver.name}.mp4", "#{driver.outdir}/#{driver.name}.mp4" #moves file from .flick to output dir.
|
108
108
|
end
|
109
109
|
end
|
110
110
|
|
@@ -145,22 +145,13 @@ class Video
|
|
145
145
|
File.rename "#{driver.flick_dir}/#{driver.name}.mp4", "#{driver.outdir}/#{driver.name}.mp4" unless format == "gif"
|
146
146
|
end
|
147
147
|
|
148
|
-
def wait_for_file file
|
149
|
-
start = Time.now
|
150
|
-
until File.exists? file
|
151
|
-
sleep 1; break if Time.now - start > 30
|
152
|
-
end
|
153
|
-
end
|
154
|
-
|
155
148
|
def convert_images_to_mp4
|
156
149
|
remove_zero_byte_images
|
157
150
|
%x(ffmpeg -loglevel quiet -framerate 1 -pattern_type glob -i '#{driver.flick_dir}/screenshot*.png' -c:v libx264 -pix_fmt yuv420p #{driver.flick_dir}/#{driver.name}.mp4)
|
158
|
-
wait_for_file "#{driver.flick_dir}/#{driver.name}.mp4"
|
151
|
+
Flick::System.wait_for_file 30, "#{driver.flick_dir}/#{driver.name}.mp4"
|
159
152
|
end
|
160
153
|
|
161
154
|
def remove_zero_byte_images
|
162
|
-
Dir.glob("#{driver.flick_dir}/screenshot*.png").each
|
163
|
-
File.delete f if File.zero? f
|
164
|
-
end
|
155
|
+
Dir.glob("#{driver.flick_dir}/screenshot*.png").each { |f| File.delete f if File.zero? f }
|
165
156
|
end
|
166
157
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flick
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|