wmainfo-rb 0.6 → 0.8
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.
- checksums.yaml +7 -0
- data/README +3 -5
- data/lib/wmainfo.rb +14 -6
- metadata +40 -52
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: bac79122f1c07214dd3dcc2b3be6c63d522a7166
|
4
|
+
data.tar.gz: 84d48bf1f8127919a483a0bac76694f8b2952a7d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 7e92c16f74e5e9bf56f0837a08727f0096df1ee80631ffe070dc15be0dfbb116810122d216ae42c861b159823ba68038e571d40778fd761e0609cd637f33aeca
|
7
|
+
data.tar.gz: 85df3d60a2c323e31cec9b5e15e093cb8a58ed435dc096139bbe6e925f04b0161354bfe9bcfd982b1826aa9624f4615c147376271d3b38dbeb3596342bcdf5e7
|
data/README
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
:: wmainfo-rb ::
|
2
2
|
Author: Darren Kirby
|
3
|
-
mailto:bulliver@
|
3
|
+
mailto:bulliver@gmail.com
|
4
4
|
License: Ruby
|
5
5
|
|
6
6
|
= Quick API docs =
|
@@ -10,7 +10,7 @@ License: Ruby
|
|
10
10
|
require 'wmainfo'
|
11
11
|
foo = WmaInfo.new("someSong.wma")
|
12
12
|
... or ...
|
13
|
-
foo = WmaInfo.new("someVideo.wmv", :encoding=>"UTF-16LE")
|
13
|
+
foo = WmaInfo.new("someVideo.wmv", :encoding=>"UTF-16LE")
|
14
14
|
(default encoding is ASCII)
|
15
15
|
... or ...
|
16
16
|
foo = WmaInfo.new("someVideo.wmv", :debug=>1)
|
@@ -34,9 +34,7 @@ hasinfo?('str') :: returns True if @info['str'] exists
|
|
34
34
|
print_info :: pretty-print @info dict
|
35
35
|
print_stream :: pretty-print @stream dict
|
36
36
|
|
37
|
-
|
38
|
-
|
39
|
-
== Thanks/Contributors ==
|
37
|
+
== Thanks/Contributors ==
|
40
38
|
|
41
39
|
Ilmari Heikkinen sent in a fix for uninitialized '@ext_info'.
|
42
40
|
Guillaume Pierronnet sent in a patch which improves character encoding handling.
|
data/lib/wmainfo.rb
CHANGED
@@ -14,13 +14,13 @@
|
|
14
14
|
# to Ruby. All credit for the hard work is owed to Dan...
|
15
15
|
#
|
16
16
|
# License:: Ruby
|
17
|
-
# Author:: Darren Kirby (mailto:bulliver@
|
18
|
-
# Website::
|
17
|
+
# Author:: Darren Kirby (mailto:bulliver@gmail.com)
|
18
|
+
# Website:: https://github.com/moumar/wmainfo-rb
|
19
19
|
|
20
20
|
# Improved character encoding handling thanks to
|
21
21
|
# Guillaume Pierronnet <guillaume.pierronnet @nospam@ gmail.com>
|
22
22
|
|
23
|
-
require 'iconv'
|
23
|
+
require 'iconv' if RUBY_VERSION.to_f < 1.9
|
24
24
|
|
25
25
|
# raised when errors occur parsing wma header
|
26
26
|
class WmaInfoError < StandardError
|
@@ -39,7 +39,8 @@ class WmaInfo
|
|
39
39
|
@stream = {}
|
40
40
|
@file = file
|
41
41
|
@debug = opts[:debug]
|
42
|
-
@
|
42
|
+
@encoding = opts[:encoding] || "ASCII"
|
43
|
+
@ic = Iconv.new(@encoding, "UTF-16LE") if RUBY_VERSION.to_f < 1.9
|
43
44
|
parse_wma_header
|
44
45
|
end
|
45
46
|
|
@@ -190,7 +191,7 @@ class WmaInfo
|
|
190
191
|
@tags.delete_if { |k,v| v == "" || v == nil }
|
191
192
|
end
|
192
193
|
|
193
|
-
def parse_asf_content_encryption_object
|
194
|
+
def parse_asf_content_encryption_object
|
194
195
|
@drm = 1
|
195
196
|
end
|
196
197
|
|
@@ -310,7 +311,11 @@ class WmaInfo
|
|
310
311
|
|
311
312
|
# UTF16LE -> ASCII
|
312
313
|
def decode_binary_string(data)
|
313
|
-
|
314
|
+
if RUBY_VERSION.to_f < 1.9
|
315
|
+
@ic.iconv(data).strip
|
316
|
+
else
|
317
|
+
data.to_s.encode(@encoding, "UTF-16LE")
|
318
|
+
end
|
314
319
|
end
|
315
320
|
|
316
321
|
def read_and_increment_offset(size)
|
@@ -320,6 +325,9 @@ class WmaInfo
|
|
320
325
|
end
|
321
326
|
|
322
327
|
def byte_string_to_guid(byteString)
|
328
|
+
if RUBY_VERSION[0..2] != "1.8"
|
329
|
+
byteString = byteString.bytes.to_a
|
330
|
+
end
|
323
331
|
guidString = sprintf("%02X", byteString[3])
|
324
332
|
guidString += sprintf("%02X", byteString[2])
|
325
333
|
guidString += sprintf("%02X", byteString[1])
|
metadata
CHANGED
@@ -1,47 +1,45 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: wmainfo-rb
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '0.8'
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- Darren Kirby
|
8
|
+
- Guillaume Pierronnet
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
|
12
|
-
date: 2009-06-07 00:00:00 -06:00
|
13
|
-
default_executable:
|
12
|
+
date: 2014-08-29 00:00:00.000000000 Z
|
14
13
|
dependencies: []
|
15
|
-
|
16
14
|
description: |
|
17
15
|
:: wmainfo-rb ::
|
18
|
-
|
19
|
-
mailto:bulliver@
|
16
|
+
Authors: Darren Kirby, Guillaume Pierronnet
|
17
|
+
mailto:bulliver@gmail.com
|
20
18
|
License: Ruby
|
21
|
-
|
19
|
+
|
22
20
|
= Quick API docs =
|
23
|
-
|
21
|
+
|
24
22
|
== Initializing ==
|
25
|
-
|
23
|
+
|
26
24
|
require 'wmainfo'
|
27
25
|
foo = WmaInfo.new("someSong.wma")
|
28
26
|
... or ...
|
29
|
-
foo = WmaInfo.new("someVideo.wmv", :encoding=>"UTF-16LE")
|
27
|
+
foo = WmaInfo.new("someVideo.wmv", :encoding=>"UTF-16LE")
|
30
28
|
(default encoding is ASCII)
|
31
29
|
... or ...
|
32
30
|
foo = WmaInfo.new("someVideo.wmv", :debug=>1)
|
33
|
-
|
31
|
+
|
34
32
|
== Public attributes ==
|
35
|
-
|
33
|
+
|
36
34
|
@drm :: 'true' if DRM present else 'false'
|
37
35
|
@tags :: dict of strings (id3 like data)
|
38
36
|
@info :: dict of variable types (non-id3 like data)
|
39
37
|
@ext_info :: dict of variable types (non-id3 like data) from ASF_Extended_Content_Description_Object
|
40
38
|
@headerObject :: dict of arrays (name, GUID, size and offset of ASF objects)
|
41
39
|
@stream :: dict of variable types (stream properties data)
|
42
|
-
|
40
|
+
|
43
41
|
== Public methods ==
|
44
|
-
|
42
|
+
|
45
43
|
print_objects :: pretty-print header objects
|
46
44
|
hasdrm? :: returns True if file has DRM
|
47
45
|
hastag?('str') :: returns True if @tags['str'] exists
|
@@ -49,51 +47,41 @@ description: |
|
|
49
47
|
hasinfo?('str') :: returns True if @info['str'] exists
|
50
48
|
print_info :: pretty-print @info dict
|
51
49
|
print_stream :: pretty-print @stream dict
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
== Thanks/Contributors ==
|
56
|
-
|
50
|
+
|
51
|
+
== Thanks/Contributors ==
|
52
|
+
|
57
53
|
Ilmari Heikkinen sent in a fix for uninitialized '@ext_info'.
|
58
54
|
Guillaume Pierronnet sent in a patch which improves character encoding handling.
|
59
|
-
|
60
|
-
email: bulliver@badcomputer.org
|
55
|
+
email: bulliver@gmail.com
|
61
56
|
executables: []
|
62
|
-
|
63
57
|
extensions: []
|
64
|
-
|
65
|
-
extra_rdoc_files:
|
58
|
+
extra_rdoc_files:
|
66
59
|
- README
|
67
|
-
files:
|
60
|
+
files:
|
68
61
|
- README
|
69
62
|
- lib/wmainfo.rb
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
63
|
+
homepage: https://github.com/moumar/wmainfo-rb
|
64
|
+
licenses:
|
65
|
+
- Ruby
|
66
|
+
metadata: {}
|
74
67
|
post_install_message:
|
75
68
|
rdoc_options: []
|
76
|
-
|
77
|
-
require_paths:
|
69
|
+
require_paths:
|
78
70
|
- lib
|
79
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
80
|
-
requirements:
|
81
|
-
- -
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
version:
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
version: "0"
|
90
|
-
version:
|
71
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - '>='
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '0'
|
91
81
|
requirements: []
|
92
|
-
|
93
|
-
|
94
|
-
rubygems_version: 1.3.3
|
82
|
+
rubyforge_project:
|
83
|
+
rubygems_version: 2.0.14
|
95
84
|
signing_key:
|
96
|
-
specification_version:
|
85
|
+
specification_version: 4
|
97
86
|
summary: Pure Ruby lib for accessing info/tags from wma/wmv files
|
98
87
|
test_files: []
|
99
|
-
|