#!/usr/bin/python␊ |
# Script to add Graphics_Mode for Chameleon boot loaders␊ |
␊ |
import sys␊ |
import os␊ |
import shutil␊ |
␊ |
vol = str(sys.argv[3])␊ |
␊ |
# Check for .ChameleonEFI file at root of target volume␊ |
# to indicate user wants to install to EFI system partition.␊ |
espfile = "/.ChameleonEFI"␊ |
espvol = vol + espfile␊ |
if os.path.exists(espvol):␊ |
if not os.path.exists('/Volumes/EFI/Extra'):␊ |
os.makedirs('/Volumes/EFI/Extra')␊ |
␊ |
plist = "/Volumes/EFI/Extra/org.chameleon.Boot.plist"␊ |
else:␊ |
boot = "/Extra/org.chameleon.Boot.plist"␊ |
plist = vol + boot␊ |
␊ |
if not os.path.exists(plist):␊ |
shutil.copy('/Library/Preferences/SystemConfiguration/com.apple.Boot.plist', plist)␊ |
␊ |
infile = open(plist, "r")␊ |
# check if Graphics_Mode has been written or not␊ |
KeyLayoutCheck = False␊ |
␊ |
body = ""␊ |
␊ |
for line in infile:␊ |
# if we finish the tags and haven't written KeyLayout Yet␊ |
if "</dict>" in line and KeyLayoutCheck == False:␊ |
line = " <key>KeyLayout</key>\n"␊ |
line += " <string>@@KEYMAP@@</string>\n"␊ |
line += "</dict>\n"␊ |
KeyLayoutCheck = True␊ |
␊ |
body += line␊ |
␊ |
infile.close()␊ |
␊ |
outfile = open(plist, "w")␊ |
outfile.write(body)␊ |
outfile.close()␊ |