"""WizardKit: Config - UFD"""
# vim: sts=2 sw=2 ts=2

from collections import OrderedDict

from wk.cfg.main import KIT_NAME_FULL


# General
SOURCES = OrderedDict({
  'Linux':            {'Arg': '--linux',          'Type': 'ISO'},
  'WinPE':            {'Arg': '--winpe',          'Type': 'ISO'},
  'Main Kit':         {'Arg': '--main-kit',       'Type': 'KIT'},
  'Extra Dir':        {'Arg': '--extra-dir',      'Type': 'DIR'},
  })

# Definitions: Boot entries
BOOT_ENTRIES = {
  # Path to check:      Comment to remove
  '/sources/boot.wim':  'UFD-WINPE',
  }
BOOT_FILES = {
  # Directory:  extension
  '/syslinux':  'cfg',
  '/EFI/boot':  'conf',
  }
IMAGE_BOOT_ENTRIES = {
  'El Capitan':   'UFD-MACOS-10.11',
  'High Sierra':  'UFD-MACOS-10.13',
  'Catalina':     'UFD-MACOS-10.15',
  }

# Definitions: Sources and Destinations
## NOTES: Paths are relative to the root of the ISO/UFD
##        Sources use rsync's trailing slash syntax
ITEMS = {
  'Extra Dir': (
    ('/',                                     '/'),
    ),
  'Linux': (
    ('/arch',                                 '/'),
    ('/EFI/boot',                             '/EFI/'),
    ('/syslinux',                             '/'),
    ),
  'Main Kit': (
    ('/',                                     f'/{KIT_NAME_FULL}/'),
    ),
  'WinPE': (
    ('/bootmgr',                              '/'),
    ('/bootmgr.efi',                          '/'),
    ('/en_us',                                '/'),
    ('/Boot/',                                '/boot/'),
    ('/EFI/Boot/',                            '/EFI/Microsoft/'),
    ('/EFI/Microsoft/',                       '/EFI/Microsoft/'),
    ('/Boot/BCD',                             '/sources/'),
    ('/Boot/boot.sdi',                        '/sources/'),
    ('/bootmgr',                              '/sources/'),
    ('/sources/boot.wim',                     '/sources/'),
    ),
  }
ITEMS_HIDDEN = (
  # Linux (all versions)
  'arch',
  'EFI',
  'syslinux',
  # Main Kit
  f'{KIT_NAME_FULL}/.bin',
  f'{KIT_NAME_FULL}/.cbin',
  # WinPE
  'boot',
  'bootmgr',
  'bootmgr.efi',
  'en-us',
  'images',
  'sources',
  )


if __name__ == '__main__':
  print("This file is not meant to be called directly.")
