Sha256: 19703bd24ddfd14e27938c17f62a5fb3bafbf40ff1f075b24ef4ae0e7d430083

Contents?: true

Size: 896 Bytes

Versions: 4

Compression:

Stored size: 896 Bytes

Contents

# encoding: utf-8
module Nokaya

  class MusicStore < Apple

    def initialize args, options = {}
      options = options.dup
      options['itunes'] = true
      super(args, options)
      @type = :musicstore
      find(args)
      @path = "#{@path}/musicstore-#{@workers.sanitize(args.join(' '))}-#{@workers.timed}"
    end

    private

    def find args
      url = self.music_url(args)
      data = get(url)
      data['results'].each do |obj|
        next if obj['collectionName'].nil?
        link = obj['artworkUrl100'].gsub('100x100', '1200x1200')
        next if @urls.include?(link)
        @urls << link
        @filenames << "#{@workers.sanitize(obj['collectionName'])}.jpg"
      end
    end

    def get url
      begin
        JSON.parse(open(url).read)
      rescue SocketError
        Logs.rec.error 'No connexion'
        return {'results' => []}
      end
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
nokaya-0.1.6 lib/nokaya/musicstore.rb
nokaya-0.1.5 lib/nokaya/musicstore.rb
nokaya-0.1.4 lib/nokaya/musicstore.rb
nokaya-0.1.3 lib/nokaya/musicstore.rb