93 lines
2.6 KiB
Python
93 lines
2.6 KiB
Python
import sys
|
|
import os
|
|
import shutil
|
|
import time
|
|
|
|
pJoin = os.path.join
|
|
|
|
opus.time = int(time.time())
|
|
|
|
opus.version = Munch()
|
|
opus.version.distro = "opus-nt"
|
|
opus.version.major = 0
|
|
opus.version.median = 1
|
|
opus.version.minor = 0
|
|
opus.version.state = "dev"
|
|
opus.version.string = \
|
|
opus.version.distro + " " +\
|
|
str(opus.version.major) + "." +\
|
|
str(opus.version.median) + "." +\
|
|
str(opus.version.minor) + " " +\
|
|
opus.version.state
|
|
|
|
opus.path = Munch()
|
|
opus.path.main = os.path.dirname(os.path.realpath(__file__))
|
|
opus.path.api = pJoin(opus.path.main,"scripts","api")
|
|
opus.path.tweaks = pJoin(opus.path.main,"tweaks")
|
|
opus.path.temp = pJoin(opus.path.main,"tmp-" +str(opus.time))
|
|
opus.path.wim = pJoin(opus.path.temp,"wim")
|
|
opus.path.target = os.path.realpath(sys.argv[1])
|
|
opus.verbosity = 2
|
|
|
|
with open(pJoin(opus.path.main,"scripts","api","main.py")) as script:
|
|
exec(script.read())
|
|
|
|
opus.main.output("\nmain-api loaded!",1)
|
|
opus.script.execute(pJoin(opus.path.main,"scripts","hello.py"))
|
|
opus.main.output("",1)
|
|
|
|
if opus.verbosity > 0:
|
|
opus.main.output("-- paths --")
|
|
for path in opus.path:
|
|
opus.main.output(path + ": " +opus.path[path])
|
|
|
|
opus.main.output("")
|
|
|
|
opus.main.output("-- loading misc APIs --", 1)
|
|
|
|
opus.script.execute(pJoin(opus.path.api,"path.py"))
|
|
opus.script.execute(pJoin(opus.path.api,"wim.py"))
|
|
opus.script.execute(pJoin(opus.path.api,"registry.py"))
|
|
opus.script.execute(pJoin(opus.path.api,"detection.py"))
|
|
opus.script.execute(pJoin(opus.path.api,"tweak.py"))
|
|
|
|
opus.main.output("",1)
|
|
|
|
opus.script.execute(pJoin(opus.path.main,"scripts","path.py"))
|
|
|
|
opus.main.output("",1)
|
|
|
|
if os.path.isdir(opus.path.temp):
|
|
opus.main.output("clearing temp directory...",1)
|
|
try:
|
|
opus.reg.unmount()
|
|
except:
|
|
pass
|
|
shutil.rmtree(opus.path.temp)
|
|
|
|
os.makedirs(pJoin(opus.path.temp,"wim"))
|
|
opus.wim.location = pJoin(opus.path.target,"sources","install.wim")
|
|
opus.wim.index = int(input("\nwim index: "))
|
|
opus.main.output("",1)
|
|
|
|
opus.wim.extractFiles([
|
|
pJoin("Windows","System32","config","SOFTWARE"),
|
|
pJoin("Windows","System32","config","SYSTEM"),
|
|
pJoin("Users","Default","NTUSER.DAT")
|
|
])
|
|
|
|
opus.main.output("",1)
|
|
|
|
opus.os = opus.detect.os(opus.wim.path())
|
|
|
|
for tag in opus.os.tags:
|
|
if not os.path.isdir(pJoin(opus.path.tweaks,tag)): continue
|
|
opus.tweak.apply.reg(tag,"SOFTWARE",pJoin("Windows","System32","config","SOFTWARE"))
|
|
opus.tweak.apply.reg(tag,"SYSTEM",pJoin("Windows","System32","config","SYSTEM"))
|
|
opus.tweak.apply.reg(tag,"NTUSER",pJoin("Users","Default","NTUSER.DAT"))
|
|
opus.tweak.apply.wim(tag)
|
|
opus.tweak.apply.iso(tag)
|
|
|
|
opus.main.output("\nif you'd like to make manual changes, please do so now. press enter to finalize or ctrl+c to cancel.")
|
|
input()
|
|
opus.wim.update() |