Sha256: 0b7148698da6e91e9ad4bc8b8a2b0cfa18e6f1bcfe9cd12fa5a6f4c7e25c7d4d

Contents?: true

Size: 871 Bytes

Versions: 1

Compression:

Stored size: 871 Bytes

Contents

# == Synopsis
# encapsulation of all media files
class MediaFiles
  attr_reader :medias, :titles

  # given:
  # directories Array of String directory pathspecs
  def initialize(directories)
    @medias = []
    directories.each do |dir|
      Dir.chdir(dir)
      @medias += Dir.glob("**/*.{#{AppConfig[:media_extensions].join(',')}}").collect do |filename| 
	Media.new(dir, filename)
      end
    end
    @titles = {}
    @medias.each do |media|
      title = media.title_with_year
      @titles[title] ||= []
      @titles[title] << media
    end
  end
  
  
  # find duplicate titles and return them in a hash
  # where the key is the title and the value is an
  # array of Media objects
  def duplicate_titles
    duplicates = {}
    @titles.each do |title, medias|
      if medias.length > 1
	duplicates[title] = medias
      end
    end
    duplicates
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
royw-dvdprofiler2xbmc-0.0.2 lib/dvdprofiler2xbmc/media_files.rb