Class: KodiDedup::Cli::Episodes

Inherits:
Object
  • Object
show all
Includes:
Base
Defined in:
lib/kodi_dedup/cli/episodes.rb

Instance Method Summary collapse

Methods included from Base

#deduplicate!, #shell

Instance Method Details

#grouped_episodes_by_showObject



22
23
24
25
26
27
28
29
30
31
# File 'lib/kodi_dedup/cli/episodes.rb', line 22

def grouped_episodes_by_show
  KodiDedup.shows.each do |show|
    next if show.episodes.empty?

    show.episodes.grouped.each do |episodes|
      next if episodes.length == 1
      yield show, episodes
    end
  end
end

#performObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/kodi_dedup/cli/episodes.rb', line 6

def perform
  shell.say 'Dry running, call with --perform to change perform the deduplication', :green unless KodiDedup.config.perform

  shell.say 'Locating duplicate episodes ...'

  grouped_episodes_by_show do |show, episodes|
    dedup = Deduplicator.new(episodes)

    dedup.preable do
      shell.say "#{show.label} #{episodes.first.label}", :yellow
    end

    deduplicate!(dedup)
  end
end