mxfinfo 0.0.3.3 → 0.0.3.4
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/mxfinfo/string.rb +25 -0
- data/lib/mxfinfo/version.rb +1 -1
- data/lib/mxfinfo.rb +8 -9
- data/spec/alert_error_spec.rb +10 -0
- data/spec/fixtures/ALERT01.ERROR.info +8 -0
- metadata +6 -1
@@ -0,0 +1,25 @@
|
|
1
|
+
class String
|
2
|
+
# returns the string enclosed in double quotes.
|
3
|
+
# all characters in the string that could be harmful will be escaped.
|
4
|
+
#
|
5
|
+
# e.g.
|
6
|
+
# 'test'.shell_escape_double_quotes # => "test"
|
7
|
+
# '$\\'"`'.shell_escape_double_quotes # => "\$\\'\"\`"
|
8
|
+
#
|
9
|
+
# This should work in al POSIX compatible shells.
|
10
|
+
#
|
11
|
+
# see: http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_02_03
|
12
|
+
def shell_escape_double_quotes
|
13
|
+
'"'+gsub(/\\|"|\$|`/, '\\\\\0')+'"'
|
14
|
+
end unless method_defined?(:shell_escape_double_quotes)
|
15
|
+
|
16
|
+
# stolen from active_support/inflector
|
17
|
+
# TODO require "active_support/core_ext/string/inflections" when 3.0 is released
|
18
|
+
def underscore
|
19
|
+
gsub(/::/, '/').
|
20
|
+
gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
|
21
|
+
gsub(/([a-z\d])([A-Z])/,'\1_\2').
|
22
|
+
tr("-", "_").
|
23
|
+
downcase
|
24
|
+
end unless method_defined?(:underscore)
|
25
|
+
end
|
data/lib/mxfinfo/version.rb
CHANGED
data/lib/mxfinfo.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require "forwardable"
|
2
|
-
require "mxfinfo/version"
|
3
|
-
require "mxfinfo/attr_readers"
|
2
|
+
require File.join(File.dirname(__FILE__),"mxfinfo/version")
|
3
|
+
require File.join(File.dirname(__FILE__),"mxfinfo/attr_readers")
|
4
|
+
require File.join(File.dirname(__FILE__),"mxfinfo/string")
|
4
5
|
|
5
6
|
class MXFinfo
|
6
7
|
extend Forwardable
|
@@ -43,17 +44,15 @@ class MXFinfo
|
|
43
44
|
if process
|
44
45
|
@filepath = File.absolute_path(input)
|
45
46
|
File.exists?(@filepath) ? @valid = true : @valid = false
|
46
|
-
if @valid
|
47
|
-
@mxfinfo = mxfinfo
|
48
|
-
# Check if output contains error from binary
|
49
|
-
@mxfinfo.include?("ERROR") ? @valid = false : @valid = true
|
50
|
-
@mxfinfo.include?("Failed to open file") ? @valid = false : @valid = true
|
51
|
-
@mxfinfo.include?("mxf_disk_file_open_read") ? @valid = false : @valid = true
|
52
|
-
end
|
47
|
+
@mxfinfo = mxfinfo if @valid
|
53
48
|
else
|
54
49
|
@valid = true
|
55
50
|
@mxfinfo = input
|
56
51
|
end
|
52
|
+
# Check if output contains error from binary
|
53
|
+
@mxfinfo.include?("ERROR") ? @valid = false : @valid = true
|
54
|
+
@mxfinfo.include?("Failed to open file") ? @valid = false : @valid = true
|
55
|
+
@mxfinfo.include?("mxf_disk_file_open_read") ? @valid = false : @valid = true
|
57
56
|
process_data if @valid
|
58
57
|
end
|
59
58
|
|
@@ -0,0 +1,8 @@
|
|
1
|
+
'mxf_disk_file_open_read(filename, &mxfFile)' failed in avid_mxf_info.c, line 525
|
2
|
+
Failed to open file (Beep)
|
3
|
+
'mxf_disk_file_open_read(filename, &mxfFile)' failed in avid_mxf_info.c, line 525
|
4
|
+
Failed to open file (AlertA01.4F8564F8563B3.mxf)
|
5
|
+
|
6
|
+
Filename = Beep
|
7
|
+
|
8
|
+
Filename = AlertA01.4F8564F8563B3.mxf
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mxfinfo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.3.
|
4
|
+
version: 0.0.3.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -26,8 +26,11 @@ files:
|
|
26
26
|
- Rakefile
|
27
27
|
- lib/mxfinfo.rb
|
28
28
|
- lib/mxfinfo/attr_readers.rb
|
29
|
+
- lib/mxfinfo/string.rb
|
29
30
|
- lib/mxfinfo/version.rb
|
30
31
|
- mxfinfo.gemspec
|
32
|
+
- spec/alert_error_spec.rb
|
33
|
+
- spec/fixtures/ALERT01.ERROR.info
|
31
34
|
- spec/fixtures/IMG_0395.MOV.A14DC7130D.mxf
|
32
35
|
- spec/fixtures/IMG_0395.MOV.A14DC7130D.mxf.info
|
33
36
|
- spec/fixtures/InvalidFileTest.mxf
|
@@ -71,6 +74,8 @@ specification_version: 3
|
|
71
74
|
summary: MXFinfo is a gem to use avidmxfinfo from http://ingex.sourceforge.net/ directly
|
72
75
|
in ruby.
|
73
76
|
test_files:
|
77
|
+
- spec/alert_error_spec.rb
|
78
|
+
- spec/fixtures/ALERT01.ERROR.info
|
74
79
|
- spec/fixtures/IMG_0395.MOV.A14DC7130D.mxf
|
75
80
|
- spec/fixtures/IMG_0395.MOV.A14DC7130D.mxf.info
|
76
81
|
- spec/fixtures/InvalidFileTest.mxf
|