Class: Bookbinder::Transform::MediaRipper_Metadata

Inherits:
Bookbinder::Transform show all
Defined in:
lib/bookbinder/transform/media_ripper/metadata.rb

Instance Method Summary collapse

Methods inherited from Bookbinder::Transform

#dependencies

Instance Method Details

#to_map(package) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/bookbinder/transform/media_ripper/metadata.rb', line 3

def to_map(package)
  return  unless mm_file = find_first_mediamarker_file(package)
  mm_doc = mm_file.document('r')
  md = {}
  mm_doc.each('AudioBook > TitleInfo > *') { |tag|
    name = tag.node_name
    value = { '@' => tag.content.strip }
    tag.attributes.each_pair { |key, attr|
      value[key] = { '@' => attr.value }
    }
    md[name] = [md[name], value].flatten.compact
  }
  package.map['metadata'] = md
end