Snippets

ESTI design script checks availability of crossdomain.xml on media servers (Family provider)

Created by Robert Poz
#!/usr/bin/env ruby

require File.expand_path(File.join(File.dirname(__FILE__), 'config', 'environment'))

SAMPLE_SIZE = 50
SERVERS_IDS = [1, 43, 3, 44, 9, 0].shuffle

iptv = IPTV::FamilyApi.new('core.alfamediaplayer.com')
iptv.login(ARGV[0], ARGV[1])
channels = iptv.req('get_channels_tv')['channels'].map { |c| c['id'] }.shuffle
iptv.req('set', {var: :time_shift, val: 0})

SERVERS_IDS.each do |server_id|
  puts server_id
  iptv.req('set', {var: :media_server_id, val: server_id})
  iptv.logout
  iptv.login(ARGV[0], ARGV[1])
  SAMPLE_SIZE.times do
    print '.'
    resp = iptv.req('get_url_tv', { cid: channels.sample } )
    next if (resp['error'] && resp['error']['code'] == 'URL_PROTECTED' rescue nil)
    host = resp['url'].scan(/(http:.*\/)/).flatten.first
    resp = HTTParty.get(host + 'crossdomain.xml')
    if resp.parsed_response.include?('no be found')
      puts host + 'crossdomain.xml'
      open('missing_config_servers.out', 'a').puts(host+'crossdomain.xml')
    else
      open('present_config_servers.out', 'a').puts(host+'crossdomain.xml')
    end
    sleep 0.1
  end
end

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.