depix 2.0.0 → 3.0.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.
@@ -0,0 +1,26 @@
1
+ require 'test/unit'
2
+ require File.dirname(__FILE__) + '/../lib/depix' unless defined?(Depix)
3
+ require "cli_test"
4
+
5
+ class TestDescribe < Test::Unit::TestCase
6
+ BIN_P = File.dirname(__FILE__) + "/../bin/depix_describe"
7
+ SAMPLE_DPX = File.dirname(__FILE__) + '/samples/E012_P001_L000002_lin.0001.dpx'
8
+
9
+ def test_app
10
+ s, o, e = CLITest.new(BIN_P).run( File.dirname(__FILE__) + "/samples/gluetools_file_header.dpx")
11
+ assert s.zero?, "Should exit without error"
12
+ assert o.include?("03:09:00:17"), "Should include the timecode"
13
+ end
14
+
15
+ def test_describe_class_simple
16
+ desc = Depix::Describe.new.describe(SAMPLE_DPX)
17
+ assert_match(/320/, desc)
18
+ assert_match(/Offset to data for this image element/, desc)
19
+ end
20
+
21
+ def test_describe_synthetics
22
+ desc = Depix::Describe.new.describe_synthetics(SAMPLE_DPX, false)
23
+ assert desc.include?("01:15:11:18")
24
+ end
25
+
26
+ end
@@ -0,0 +1,19 @@
1
+ require 'test/unit'
2
+ require File.dirname(__FILE__) + '/../lib/depix' unless defined?(Depix)
3
+ require "cli_test"
4
+
5
+ class TestFixHeaders < Test::Unit::TestCase
6
+ BIN_P = File.dirname(__FILE__) + "/../bin/depix_fix_headers"
7
+
8
+ def test_app
9
+ from_file = File.expand_path(File.dirname(__FILE__) + "/samples/scratch.dpx")
10
+ to_file = File.dirname(from_file) + "/_mod.dpx"
11
+ begin
12
+ FileUtils.cp(from_file, to_file)
13
+ s, o, e = CLITest.new(BIN_P).run(to_file)
14
+ assert s.zero?, "Should exit without error"
15
+ ensure
16
+ File.unlink(to_file)
17
+ end
18
+ end
19
+ end
metadata CHANGED
@@ -1,68 +1,122 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: depix
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.0.0
4
5
  prerelease:
5
- version: 2.0.0
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Julik Tarkhanov
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-06-14 00:00:00 +02:00
14
- default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
12
+ date: 2011-11-29 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
17
15
  name: timecode
16
+ requirement: &10534200 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '1.0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *10534200
25
+ - !ruby/object:Gem::Dependency
26
+ name: progressbar
27
+ requirement: &10533900 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: '0.9'
33
+ type: :runtime
18
34
  prerelease: false
19
- requirement: &id001 !ruby/object:Gem::Requirement
35
+ version_requirements: *10533900
36
+ - !ruby/object:Gem::Dependency
37
+ name: sequencer
38
+ requirement: &10533550 !ruby/object:Gem::Requirement
20
39
  none: false
21
- requirements:
22
- - - ">="
23
- - !ruby/object:Gem::Version
24
- version: "0"
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: '1.0'
25
44
  type: :runtime
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
28
- name: hoe
29
45
  prerelease: false
30
- requirement: &id002 !ruby/object:Gem::Requirement
46
+ version_requirements: *10533550
47
+ - !ruby/object:Gem::Dependency
48
+ name: term-ansicolor
49
+ requirement: &10533130 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *10533130
58
+ - !ruby/object:Gem::Dependency
59
+ name: jeweler
60
+ requirement: &10532890 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *10532890
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: &10532610 !ruby/object:Gem::Requirement
31
72
  none: false
32
- requirements:
33
- - - ">="
34
- - !ruby/object:Gem::Version
35
- version: 2.9.4
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
36
77
  type: :development
37
- version_requirements: *id002
38
- description: Read and write DPX file metadata
39
- email:
40
- - me@julik.nl
41
- executables:
42
- - depix-describe
78
+ prerelease: false
79
+ version_requirements: *10532610
80
+ - !ruby/object:Gem::Dependency
81
+ name: cli_test
82
+ requirement: &10532240 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ version: '1.0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *10532240
91
+ description: Allos you to edit headers and read their contents parsed into Ruby objects
92
+ email: me@julik.nl
93
+ executables:
94
+ - depix_describe
95
+ - depix_fix_headers
43
96
  extensions: []
44
-
45
- extra_rdoc_files:
46
- - History.txt
47
- - Manifest.txt
97
+ extra_rdoc_files:
48
98
  - DPX_HEADER_STRUCTURE.rdoc
49
99
  - README.rdoc
50
- files:
100
+ files:
101
+ - .gemtest
102
+ - .travis.yml
51
103
  - DPX_HEADER_STRUCTURE.rdoc
104
+ - Gemfile
52
105
  - History.txt
53
- - Manifest.txt
54
106
  - README.rdoc
55
107
  - Rakefile
56
- - bin/depix-describe
108
+ - bin/depix_describe
109
+ - bin/depix_fix_headers
110
+ - depix.gemspec
57
111
  - lib/depix.rb
58
- - lib/depix/binary/descriptor.rb
59
112
  - lib/depix/binary/fields.rb
113
+ - lib/depix/binary/rdoc_generator.rb
60
114
  - lib/depix/binary/structure.rb
61
115
  - lib/depix/compact_structs.rb
116
+ - lib/depix/describe.rb
62
117
  - lib/depix/editor.rb
63
118
  - lib/depix/enums.rb
64
119
  - lib/depix/reader.rb
65
- - lib/depix/struct_explainer.rb
66
120
  - lib/depix/structs.rb
67
121
  - lib/depix/synthetics.rb
68
122
  - test/samples/026_FROM_HERO_TAPE_5-3-1_MOV.0029.dpx
@@ -74,38 +128,34 @@ files:
74
128
  - test/samples/gluetools_file_header.dpx
75
129
  - test/samples/little_endian.dpx
76
130
  - test/samples/northlight_tc_mode_mismatch.dpx
131
+ - test/samples/scratch.dpx
132
+ - test/test_binary.rb
77
133
  - test/test_depix.rb
78
- - test/test_dict.rb
79
- - .gemtest
80
- has_rdoc: true
134
+ - test/test_describe.rb
135
+ - test/test_fix_headers.rb
81
136
  homepage: http://guerilla-di.org/depix
82
- licenses: []
83
-
137
+ licenses:
138
+ - MIT
84
139
  post_install_message:
85
- rdoc_options:
86
- - --main
87
- - README.rdoc
88
- require_paths:
140
+ rdoc_options: []
141
+ require_paths:
89
142
  - lib
90
- required_ruby_version: !ruby/object:Gem::Requirement
143
+ required_ruby_version: !ruby/object:Gem::Requirement
91
144
  none: false
92
- requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- version: "0"
96
- required_rubygems_version: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - ! '>='
147
+ - !ruby/object:Gem::Version
148
+ version: '0'
149
+ required_rubygems_version: !ruby/object:Gem::Requirement
97
150
  none: false
98
- requirements:
99
- - - ">="
100
- - !ruby/object:Gem::Version
101
- version: "0"
151
+ requirements:
152
+ - - ! '>='
153
+ - !ruby/object:Gem::Version
154
+ version: '0'
102
155
  requirements: []
103
-
104
- rubyforge_project: guerilla-di
105
- rubygems_version: 1.6.2
156
+ rubyforge_project:
157
+ rubygems_version: 1.8.11
106
158
  signing_key:
107
159
  specification_version: 3
108
- summary: Read and write DPX file metadata
109
- test_files:
110
- - test/test_depix.rb
111
- - test/test_dict.rb
160
+ summary: Read and write DPX file headers
161
+ test_files: []
@@ -1,28 +0,0 @@
1
- DPX_HEADER_STRUCTURE.rdoc
2
- History.txt
3
- Manifest.txt
4
- README.rdoc
5
- Rakefile
6
- bin/depix-describe
7
- lib/depix.rb
8
- lib/depix/binary/descriptor.rb
9
- lib/depix/binary/fields.rb
10
- lib/depix/binary/structure.rb
11
- lib/depix/compact_structs.rb
12
- lib/depix/editor.rb
13
- lib/depix/enums.rb
14
- lib/depix/reader.rb
15
- lib/depix/struct_explainer.rb
16
- lib/depix/structs.rb
17
- lib/depix/synthetics.rb
18
- test/samples/026_FROM_HERO_TAPE_5-3-1_MOV.0029.dpx
19
- test/samples/E012_P001_L000002_lin.0001.dpx
20
- test/samples/E012_P001_L000002_lin.0002.dpx
21
- test/samples/E012_P001_L000002_log.0001.dpx
22
- test/samples/E012_P001_L000002_log.0002.dpx
23
- test/samples/from_nuke_no_TC_meta.dpx
24
- test/samples/gluetools_file_header.dpx
25
- test/samples/little_endian.dpx
26
- test/samples/northlight_tc_mode_mismatch.dpx
27
- test/test_depix.rb
28
- test/test_dict.rb
@@ -1,59 +0,0 @@
1
- # Generates an RDoc description of the DPX structs from the structs.rb file
2
- class RdocExplainer #:nodoc:
3
- attr_accessor :io, :attr_template, :struct_template
4
-
5
- TPL = <<eof
6
- = DPX header structure description
7
-
8
- DPX metadata gets returned as a Depix::DPX object with nested properties.
9
-
10
- meta.file.magic # => "SDPX"
11
-
12
- == Metadata structure
13
-
14
- %s
15
- eof
16
-
17
- def initialize
18
- @padding = ' '
19
- @attr_template = "%s* <tt>%s</tt> %s"
20
- @struct_template = "%s* <tt>%s</tt> %s:"
21
- @array_template = "%s* <tt>%s</tt> %s:"
22
-
23
- end
24
-
25
- def get_rdoc_for(struct)
26
- @io = StringIO.new
27
- explain_struct(struct)
28
- TPL % @io.string
29
- end
30
-
31
- include Depix
32
-
33
- def explain_struct(struct, padding = '') #:nodoc:
34
- struct.fields.each do | e |
35
- if e.is_a?(InnerField)
36
-
37
- @io.puts( @struct_template % [padding, e.name, e.explain])
38
- explain_struct(e.rtype, padding + @padding)
39
-
40
- elsif e.is_a?(ArrayField)
41
-
42
- @io.puts( @array_template % [padding, e.name, e.explain])
43
-
44
- inner_struct = e.members[0]
45
-
46
- if inner_struct.is_a?(InnerField)
47
- explain_struct(inner_struct.rtype, padding + @padding)
48
- end
49
- else
50
- explain_attr(padding, e)
51
- end
52
- end
53
- end
54
-
55
- def explain_attr(padding, e)
56
- type_name = e.rtype ? "(#{e.rtype})" : nil
57
- @io.puts( @attr_template % [padding, e.name, e.explain])
58
- end
59
- end