Module: Playlist::Format::Dira

Defined in:
lib/playlist/format/dira.rb

Overview

Module to parse Scisys dira XML genealogy files

Class Method Summary collapse

Class Method Details

.parse(input) ⇒ Playlist

Parse a Dira XML document into a new Playlist object

Parameters:

  • input (String, IO)

    the source of the Dira XML

Returns:



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/playlist/format/dira.rb', line 13

def parse(input)
  Playlist.new do |playlist|
    doc = Nokogiri::XML(input)
    playlist.title = doc.content_at(
      '//TAKE/GENERIC/GENE_MULTIMEDIA_TITLE'
    ) || doc.content_at(
      '//TAKE/GENERIC/GENE_TITLE'
    )
    doc.xpath('//TAKE/GENEALOGY/GENEALOGY_ITEM').each do |item|
      playlist.tracks << parse_genealogy_item(item)
    end
  end
end