module EZTVScraper::Showlist

Public Instance Methods

episodes_info() click to toggle source
# File lib/eztv_scraper/showlist.rb, line 35
def episodes_info
  spinner = TTY::Spinner.new('[:spinner] Pulling magnets', format: :dots, success_mark: '+')
  spinner.auto_spin
  episodes = @parsed_page.css('tr.forum_header_border')
  episodes.size.times do |n|
    thread_posts = episodes[n].css('td.forum_thread_post')
    ep = {
      episode_name: thread_posts[1].css('a')&.text,
      magnet: thread_posts[2].css('a').first&.attribute('href')&.value.to_s,
      size: thread_posts[3]&.text,
      released: thread_posts[4]&.text,
      seeds: episodes[n].css('td.forum_thread_post_end')&.text
    }
    @output << ep
  end
  spinner.success(@pastel.blue('(✔)'))
  spinner.error(@pastel.red('(✖)'))
  json_output
  choice_search
end
show_info() click to toggle source
# File lib/eztv_scraper/showlist.rb, line 18
def show_info
  parsed_show
  puts
  spinner = TTY::Spinner.new('[:spinner] Grabbing show details', format: :dots, success_mark: '+')
  spinner.auto_spin
  @output = []
  show_info = {
    title: @parsed_page.css('td.section_post_header span')&.text,
    description: @parsed_page.css('td.show_info_banner_logo p')&.text,
    poster: '' + @parsed_page.css('td.show_info_main_logo').children.css('img')&.attribute('src')&.value,
    imdb_rating: @parsed_page.css('td.show_info_rating_score div')[1].css('b span')&.text
  }
  @output << show_info
  spinner.success(@pastel.blue('(✔)'))
  spinner.error(@pastel.red('(✖)'))
end
showlist() click to toggle source
# File lib/eztv_scraper/showlist.rb, line 3
def showlist
  list_parser
  @shows = []
  complete = @pastel.on_green(' ')
  incomplete = @pastel.on_red(' ')
  # all_shows =  @output.css('td.forum_thread_post').count / 3
  bar = TTY::ProgressBar.new('Grabbing your favorite shows [:bar]', total: 500, width: 50, complete: complete, incomplete: incomplete)
  500.times do |n|
    @shows << @parsed_showlist.css('td.forum_thread_post')[n * 3].text
    bar.advance(1)
  end
  puts
  show_prompt
end