Class: Imap::Backup::CLI::Utils

Inherits:
Thor
  • Object
show all
Includes:
Helpers, Thor::Actions
Defined in:
lib/imap/backup/cli/utils.rb

Constant Summary collapse

FAKE_EMAIL =
"[email protected]".freeze

Instance Method Summary collapse

Methods included from Helpers

#account, #connection, #each_connection, included, #load_config, #options

Instance Method Details

#export_to_thunderbird(email) ⇒ Object



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/imap/backup/cli/utils.rb', line 49

def export_to_thunderbird(email)
  Imap::Backup::Logger.setup_logging options
  force = options.key?(:force) ? options[:force] : false
  profile_name = options[:profile]

  config = load_config(**options)
  connection = connection(config, email)
  profile = thunderbird_profile(profile_name)

  if !profile
    raise "Thunderbird profile '#{profile_name}' not found" if profile_name

    raise "Default Thunderbird profile not found"
  end

  connection.local_folders.each do |serializer, _folder|
    Thunderbird::MailboxExporter.new(
      email, serializer, profile, force: force
    ).run
  end
end

#ignore_history(email) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/imap/backup/cli/utils.rb', line 14

def ignore_history(email)
  Imap::Backup::Logger.setup_logging options
  config = load_config(**options)
  connection = connection(config, email)

  connection.backup_folders.each do |folder|
    next if !folder.exist?

    serializer = Serializer.new(connection..local_path, folder.name)
    do_ignore_folder_history(folder, serializer)
  end
end