depix 1.1.2 → 1.1.3
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/History.txt +5 -0
- data/Manifest.txt +1 -3
- data/Rakefile +3 -2
- data/lib/depix.rb +1 -1
- data/lib/depix/dict.rb +11 -2
- data/lib/depix/editor.rb +5 -3
- data/test/samples/026_FROM_HERO_TAPE_5-3-1_MOV.0029.dpx +0 -0
- data/test/samples/northlight_tc_mode_mismatch.dpx +0 -0
- data/test/test_depix.rb +11 -3
- data/test/test_dict.rb +6 -4
- metadata +6 -5
- data/.DS_Store +0 -0
- data/test/.DS_Store +0 -0
- data/test/samples/.DS_Store +0 -0
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
.DS_Store
|
2
1
|
DPX_HEADER_STRUCTURE.txt
|
3
2
|
History.txt
|
4
3
|
Manifest.txt
|
@@ -14,12 +13,11 @@ lib/depix/enums.rb
|
|
14
13
|
lib/depix/reader.rb
|
15
14
|
lib/depix/struct_explainer.rb
|
16
15
|
lib/depix/structs.rb
|
17
|
-
test/.DS_Store
|
18
|
-
test/samples/.DS_Store
|
19
16
|
test/samples/026_FROM_HERO_TAPE_5-3-1_MOV.0029.dpx
|
20
17
|
test/samples/E012_P001_L000002_lin.0001.dpx
|
21
18
|
test/samples/E012_P001_L000002_lin.0002.dpx
|
22
19
|
test/samples/E012_P001_L000002_log.0001.dpx
|
23
20
|
test/samples/E012_P001_L000002_log.0002.dpx
|
21
|
+
test/samples/northlight_tc_mode_mismatch.dpx
|
24
22
|
test/test_depix.rb
|
25
23
|
test/test_dict.rb
|
data/Rakefile
CHANGED
@@ -2,10 +2,11 @@ require 'rubygems'
|
|
2
2
|
require 'hoe'
|
3
3
|
require './lib/depix'
|
4
4
|
|
5
|
-
Hoe.
|
5
|
+
Hoe.spec('depix') do |p|
|
6
|
+
p.version = Depix::VERSION
|
6
7
|
p.developer('Julik Tarkhanov', 'me@julik.nl')
|
7
8
|
p.rubyforge_name = 'guerilla-di'
|
8
|
-
p.extra_deps << 'timecode'
|
9
|
+
p.extra_deps << ['timecode', ">=", "0.2.0"]
|
9
10
|
p.remote_rdoc_dir = 'depix'
|
10
11
|
end
|
11
12
|
|
data/lib/depix.rb
CHANGED
data/lib/depix/dict.rb
CHANGED
@@ -232,8 +232,9 @@ module Depix
|
|
232
232
|
if v == BLANK
|
233
233
|
nil
|
234
234
|
else
|
235
|
-
|
236
|
-
|
235
|
+
# Truncate everything from the null byte up
|
236
|
+
upto_nulb = v.split(0x00.chr).shift
|
237
|
+
(upto_nulb.nil? || upto_nulb.empty?) ? nil : upto_nulb
|
237
238
|
end
|
238
239
|
end
|
239
240
|
|
@@ -503,6 +504,14 @@ module Depix
|
|
503
504
|
options, count = (args[-1].is_a?(Hash) ? DEF_OPTS.merge(args.pop) : DEF_OPTS), (args.shift || 1)
|
504
505
|
[count, options]
|
505
506
|
end
|
507
|
+
end # End class methods
|
508
|
+
|
509
|
+
def []=(field, value)
|
510
|
+
send("#{field}=", value)
|
511
|
+
end
|
512
|
+
|
513
|
+
def [](field)
|
514
|
+
send(field)
|
506
515
|
end
|
507
516
|
end
|
508
517
|
|
data/lib/depix/editor.rb
CHANGED
@@ -26,15 +26,17 @@ module Depix
|
|
26
26
|
@dpx = Depix.from_file(@path)
|
27
27
|
end
|
28
28
|
|
29
|
+
# Copy headers from another DPX object
|
30
|
+
def copy_from(another)
|
31
|
+
@dpx = another
|
32
|
+
end
|
33
|
+
|
29
34
|
# Save the headers to file at path, overwriting the old ones
|
30
35
|
def commit!
|
31
36
|
raise "No headers" unless @dpx
|
32
37
|
raise "Cannot pack LE headers yet" if @dpx.le?
|
33
38
|
packed = @dpx.class.pack(@dpx)
|
34
39
|
|
35
|
-
# Validate that we can unpack first - what if something went wrong?
|
36
|
-
Depix::Reader.new.parse(packed, false)
|
37
|
-
|
38
40
|
# Use in-place writing into DPX file (this is what + does)
|
39
41
|
File.open(@path, 'rb+') do | f |
|
40
42
|
f.seek(0, IO::SEEK_SET); f.write(packed)
|
Binary file
|
Binary file
|
data/test/test_depix.rb
CHANGED
@@ -18,7 +18,7 @@ class ReaderTest < Test::Unit::TestCase
|
|
18
18
|
assert_equal 6144, parsed.file.user_size
|
19
19
|
assert_equal "E012_P001_L000002_lin.0001.dpx", parsed.file.filename
|
20
20
|
assert_equal "2008:12:19:01:18:37:CEST", parsed.file.timestamp
|
21
|
-
assert_equal
|
21
|
+
assert_equal nil, parsed.file.creator
|
22
22
|
assert_equal 0, parsed.image.orientation
|
23
23
|
|
24
24
|
assert_equal 320, parsed.image.pixels_per_line
|
@@ -43,8 +43,8 @@ class ReaderTest < Test::Unit::TestCase
|
|
43
43
|
assert_equal 8192, ie.data_offset
|
44
44
|
assert_equal 0, ie.end_of_line_padding
|
45
45
|
assert_equal 0, ie.end_of_image_padding
|
46
|
-
assert_equal "IMAGE DESCRIPTION DATA
|
47
|
-
assert_equal "E012
|
46
|
+
assert_equal "IMAGE DESCRIPTION DATA ", ie.description
|
47
|
+
assert_equal "E012",
|
48
48
|
parsed.orientation.device #- this is where Flame writes the reel
|
49
49
|
|
50
50
|
assert_equal 853, parsed.orientation.aspect_ratio[0]
|
@@ -129,6 +129,14 @@ class EditorTest < Test::Unit::TestCase
|
|
129
129
|
assert_equal "E012", e.flame_reel
|
130
130
|
end
|
131
131
|
|
132
|
+
def test_copy_from
|
133
|
+
e = Depix::Editor.new(SAMPLE_DPX)
|
134
|
+
assert_equal SAMPLE_DPX, e.path
|
135
|
+
another = Depix.from_file(File.dirname(__FILE__) + "/samples/northlight_tc_mode_mismatch.dpx")
|
136
|
+
e.copy_from(another)
|
137
|
+
assert_equal "Northlight", e.orientation.device
|
138
|
+
end
|
139
|
+
|
132
140
|
def test_commit
|
133
141
|
temp_path = SAMPLE_DPX + ".test"
|
134
142
|
begin
|
data/test/test_dict.rb
CHANGED
@@ -350,10 +350,10 @@ class TestCharField < Test::Unit::TestCase
|
|
350
350
|
assert_equal String, f.rtype
|
351
351
|
end
|
352
352
|
|
353
|
-
def
|
353
|
+
def test_char_field_cleans_inner_nulls
|
354
354
|
f = CharField.new :name => :foo, :length => 15
|
355
|
-
assert_equal
|
356
|
-
assert_equal
|
355
|
+
assert_equal nil, f.clean("\0\0foo\0foo\0")
|
356
|
+
assert_equal nil, f.clean("\0\0\0\377\377swoop\377\0bla\0\0\0\377\377\377\377\0\0\0")
|
357
357
|
end
|
358
358
|
|
359
359
|
def test_char_field_clean_blank
|
@@ -361,7 +361,7 @@ class TestCharField < Test::Unit::TestCase
|
|
361
361
|
assert_equal nil, f.clean("\0")
|
362
362
|
assert_equal nil, f.clean("\0\0\0\0\0\0")
|
363
363
|
assert_equal nil, f.clean("\0\0\0\377\377\0\0\0")
|
364
|
-
assert_equal
|
364
|
+
assert_equal nil, f.clean("\0\0foo\0foo\0")
|
365
365
|
end
|
366
366
|
|
367
367
|
def test_char_field_validates_overflow
|
@@ -638,6 +638,8 @@ class TestDictConsume < Test::Unit::TestCase
|
|
638
638
|
|
639
639
|
assert_equal "a", result.foo
|
640
640
|
assert_equal "b", result.bar
|
641
|
+
assert_equal "a", result[:foo]
|
642
|
+
assert_equal "a", result["foo"]
|
641
643
|
end
|
642
644
|
|
643
645
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: depix
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julik Tarkhanov
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2010-02-10 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -21,6 +21,9 @@ dependencies:
|
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: "0"
|
24
|
+
- - "="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.2.0
|
24
27
|
version:
|
25
28
|
- !ruby/object:Gem::Dependency
|
26
29
|
name: hoe
|
@@ -45,7 +48,6 @@ extra_rdoc_files:
|
|
45
48
|
- Manifest.txt
|
46
49
|
- README.txt
|
47
50
|
files:
|
48
|
-
- .DS_Store
|
49
51
|
- DPX_HEADER_STRUCTURE.txt
|
50
52
|
- History.txt
|
51
53
|
- Manifest.txt
|
@@ -61,13 +63,12 @@ files:
|
|
61
63
|
- lib/depix/reader.rb
|
62
64
|
- lib/depix/struct_explainer.rb
|
63
65
|
- lib/depix/structs.rb
|
64
|
-
- test/.DS_Store
|
65
|
-
- test/samples/.DS_Store
|
66
66
|
- test/samples/026_FROM_HERO_TAPE_5-3-1_MOV.0029.dpx
|
67
67
|
- test/samples/E012_P001_L000002_lin.0001.dpx
|
68
68
|
- test/samples/E012_P001_L000002_lin.0002.dpx
|
69
69
|
- test/samples/E012_P001_L000002_log.0001.dpx
|
70
70
|
- test/samples/E012_P001_L000002_log.0002.dpx
|
71
|
+
- test/samples/northlight_tc_mode_mismatch.dpx
|
71
72
|
- test/test_depix.rb
|
72
73
|
- test/test_dict.rb
|
73
74
|
has_rdoc: true
|
data/.DS_Store
DELETED
Binary file
|
data/test/.DS_Store
DELETED
Binary file
|
data/test/samples/.DS_Store
DELETED
Binary file
|