Class: DI

Inherits:
Site show all
Includes:
AudioAddict
Defined in:
lib/terminal_player/di/di.rb

Instance Attribute Summary

Attributes inherited from Site

#channels, #current_channel, #is_di_plus, #is_mplayer, #is_spotify, #name, #player, #songs

Instance Method Summary collapse

Methods included from AudioAddict

#get_recently_played_list

Methods inherited from Site

#play, #song_changed

Constructor Details

#initialize(options) ⇒ DI

Returns a new instance of DI.



4
5
6
7
# File 'lib/terminal_player/di/di.rb', line 4

def initialize(options)
  p = !options[:url]['premium'].nil?
  super(options, p ? 'di-hi' : 'di-lo')
end

Instance Method Details

#get_channelsObject



9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/terminal_player/di/di.rb', line 9

def get_channels
  @channels = []
  f = open('http://www.di.fm')
  page = f.read
  chan_ids = page.scan(/data-channel-id="(\d+)"/).flatten
  chans = page.scan(/data-tunein-url="http:\/\/www.di.fm\/(.*?)"/).flatten
  zipped = chan_ids.zip(chans)
  zipped.each do |z|
    @channels << {id: z[0], name: z[1]}
  end
  @channels.sort_by! {|k, _| k[:name]}
  @channels.uniq! {|k, _| k[:name]}
end