File indexing completed on 2024-05-12 05:27:53

0001 var selectedBackend = informationModel.backendType;
0002 
0003 function initInstallation(){
0004     pBar.value = 0
0005     informationModel.branch = lview.mbranch
0006     console.log(informationModel.branch)
0007     if(lview.mfolderName !== ""){
0008         informationModel.hasOrginal = true
0009         informationModel.skillFolderName = lview.mfolderName.toLowerCase()
0010         console.log(informationModel.skillFolderName)
0011     } else {
0012         informationModel.hasOrginal = false
0013         informationModel.skillFolderName = lview.mskillName.toLowerCase() + "." + lview.mauthorName.toLowerCase()
0014         console.log(informationModel.skillFolderName)
0015     }
0016 
0017     if(lview.mdesktopFile){
0018         informationModel.hasDesktopFile = true
0019     } else {
0020         informationModel.hasDesktopFile = false
0021     }
0022 
0023     if(lview.mSystemDeps){
0024         hasSystemDeps = true
0025     } else {
0026         hasSystemDeps = false
0027     }
0028 
0029     informationModel.currentURL = lview.mskillUrl
0030     informationModel.orignalFolder = lview.mfolderName
0031     informationModel.skillFolder = lview.mskillFolderPath
0032     mainInstallerDrawer.open()
0033 
0034     if(!lview.mskillInstalled){
0035         console.log(lview.mSystemDeps)
0036         if (!hasSystemDeps) {
0037             cleanInstaller()
0038         } else {
0039             cleanSysDepInstallerFileOne()
0040         }
0041     }
0042     else{
0043         cleanRemover()
0044     }
0045 }
0046 
0047 function cleanInstaller(){
0048     installStep.text = "INFO - Cleaning Installer"
0049     pBar.value = 0.1
0050     mainsession.hasFinished = false
0051     currentPos = ""
0052     var cleaninstallerfiles = ""
0053     if (selectedBackend == "osm") {
0054         cleaninstallerfiles = ["-c", "rm -rf /tmp/skillerosm.sh"]
0055     } else {
0056         cleaninstallerfiles = ["-c", "rm -rf /tmp/newskiller.sh"]
0057     }
0058     mainsession.setShellProgram("bash");
0059     mainsession.setArgs(cleaninstallerfiles)
0060     mainsession.startShellProgram();
0061     currentPos = "cleanInstallerCompleted"
0062 }
0063 
0064 function cleanSysDepInstallerFileOne(){
0065     installStep.text = "INFO - Cleaning System Dependency Installer"
0066     pBar.value = 0.1
0067     mainsession.hasFinished = false
0068     currentPos = ""
0069     var cleaninstallerfiles = ""
0070     if (selectedBackend == "osm") {
0071         cleaninstallerfiles = ["-c", "rm -rf /tmp/alternativeskillerosm.sh"]
0072     } else {
0073         cleaninstallerfiles = ["-c", "rm -rf /tmp/alternativeskiller.sh"]
0074     }
0075     mainsession.setShellProgram("bash");
0076     mainsession.setArgs(cleaninstallerfiles)
0077     mainsession.startShellProgram();
0078     currentPos = "cleanInstallerSysDepOneCompleted"
0079 }
0080 
0081 function cleanSysDepInstallerFileTwo(){
0082     pBar.value = 0.1
0083     mainsession.hasFinished = false
0084     currentPos = ""
0085     var cleaninstallerfiles2 = ["-c", "rm -rf /tmp/systemDepsInstall.sh"]
0086     mainsession.setShellProgram("bash");
0087     mainsession.setArgs(cleaninstallerfiles2)
0088     mainsession.startShellProgram();
0089     currentPos = "cleanInstallerSysDepTwoCompleted"
0090 }
0091 
0092 function cleanSysDepInstallerFileThree(){
0093     pBar.value = 0.1
0094     mainsession.hasFinished = false
0095     currentPos = ""
0096     var cleaninstallerfiles3 = ["-c", "rm -rf /tmp/handle_sys_deps.py"]
0097     mainsession.setShellProgram("bash");
0098     mainsession.setArgs(cleaninstallerfiles3)
0099     mainsession.startShellProgram();
0100     currentPos = "cleanInstallerCompleted"
0101 }
0102 
0103 function getInstallers() {
0104     installStep.text = "INFO - Getting Installer"
0105     pBar.value = 0.2
0106     mainsession.hasFinished = false
0107     currentPos = ""
0108     var getinstallersarg = ""
0109     if (selectedBackend == "osm") {
0110         getinstallersarg = ["-c", "wget https://raw.githubusercontent.com/AIIX/gui-skills/master/skillerosm.sh -P /tmp"]
0111     } else {
0112         getinstallersarg = ["-c", "wget https://raw.githubusercontent.com/AIIX/gui-skills/master/newskiller.sh -P /tmp"]
0113     }
0114     mainsession.setShellProgram("bash");
0115     mainsession.setArgs(getinstallersarg)
0116     mainsession.startShellProgram();
0117     currentPos = "installerDownloaded"
0118 }
0119 
0120 function getSysDepInstallerOne(){
0121     installStep.text = "INFO - Getting Sys Dep Installer"
0122     pBar.value = 0.2
0123     mainsession.hasFinished = false
0124     currentPos = ""
0125     var getinstallersarg = ["-c", "wget https://raw.githubusercontent.com/AIIX/gui-skills/master/systemDepsInstall.sh -P /tmp"]
0126     mainsession.setShellProgram("bash");
0127     mainsession.setArgs(getinstallersarg)
0128     mainsession.startShellProgram();
0129     currentPos = "installerOneDownloaded"
0130 }
0131 
0132 function getSysDepInstallerTwo(){
0133     installStep.text = "INFO - Getting Sys Dep Installer"
0134     pBar.value = 0.2
0135     mainsession.hasFinished = false
0136     currentPos = ""
0137     var getinstallersarg2 = ["-c", "wget https://raw.githubusercontent.com/AIIX/gui-skills/master/handle_sys_deps.py -P /tmp"]
0138     mainsession.setShellProgram("bash");
0139     mainsession.setArgs(getinstallersarg2)
0140     mainsession.startShellProgram();
0141     currentPos = "installerTwoDownloaded"
0142 }
0143 
0144 function getSysDepInstallerThree(){
0145     installStep.text = "INFO - Getting Sys Dep Installer"
0146     pBar.value = 0.2
0147     var getinstallersarg3 = ""
0148     if (selectedBackend == "osm") {
0149         getinstallersarg3 = ["-c", "wget https://raw.githubusercontent.com/AIIX/gui-skills/master/alternativeskillerosm.sh -P /tmp"]
0150     } else {
0151         getinstallersarg3 = ["-c", "wget https://raw.githubusercontent.com/AIIX/gui-skills/master/alternativeskiller.sh -P /tmp"]
0152     }
0153     mainsession.setShellProgram("bash");
0154     mainsession.setArgs(getinstallersarg3)
0155     mainsession.startShellProgram();
0156     currentPos = "installerDownloaded"
0157 }
0158 
0159 function setPermission() {
0160     installStep.text = "INFO - Setting Installer Permissions"
0161     pBar.value = 0.3
0162     mainsession.hasFinished = false
0163     currentPos = ""
0164     var getinstallersarg = ""
0165     if (selectedBackend == "osm") {
0166         getinstallersarg = ["-c", "chmod +x /tmp/skillerosm.sh"]
0167     } else {
0168         getinstallersarg = ["-c", "chmod a+x /tmp/newskiller.sh"]
0169     }
0170     mainsession.setShellProgram("bash");
0171     mainsession.setArgs(getinstallersarg)
0172     mainsession.startShellProgram();
0173     currentPos = "permissionSet"
0174 }
0175 
0176 function setPermissionSysDepInstallerOne(){
0177     installStep.text = "INFO - Setting Installer Permissions"
0178     pBar.value = 0.3
0179     mainsession.hasFinished = false
0180     currentPos = ""
0181     var getinstallersarg = ["-c", "chmod a+x /tmp/systemDepsInstall.sh"]
0182     mainsession.setShellProgram("bash");
0183     mainsession.setArgs(getinstallersarg)
0184     mainsession.startShellProgram();
0185     currentPos = "permissionOneSet"
0186 }
0187 
0188 function setPermissionSysDepInstallerTwo(){
0189     pBar.value = 0.3
0190     mainsession.hasFinished = false
0191     currentPos = ""
0192     var getinstallersarg2 = ""
0193     if (selectedBackend == "osm") {
0194         getinstallersarg2 = ["-c", "chmod a+x /tmp/alternativeskillerosm.sh"]
0195     } else {
0196         getinstallersarg2 = ["-c", "chmod a+x /tmp/alternativeskiller.sh"]
0197     }
0198     mainsession.setShellProgram("bash");
0199     mainsession.setArgs(getinstallersarg2)
0200     mainsession.startShellProgram();
0201     currentPos = "permissionTwoSet"
0202 }
0203 
0204 function setPermissionSysDepInstallerThree(){
0205     pBar.value = 0.3
0206     mainsession.hasFinished = false
0207     currentPos = ""
0208     mainsession.hasFinished = false
0209     currentPos = ""
0210     var getinstallersarg3 = ["-c", "chmod a+x /tmp/handle_sys_deps.py"]
0211     mainsession.setShellProgram("bash");
0212     mainsession.setArgs(getinstallersarg3)
0213     mainsession.startShellProgram();
0214     currentPos = "permissionSet"
0215 }
0216 
0217 function runInstallers(){
0218     installStep.text = "INFO - Running Installer"
0219     pBar.value = 0.4
0220     mainsession.hasFinished = false
0221     currentPos = ""
0222     var getinstallersarg = ""
0223     if (selectedBackend == "osm") {
0224         getinstallersarg = ["-c", "/tmp/skillerosm.sh" + ' ' + informationModel.currentURL + ' ' + informationModel.orignalFolder]
0225     } else {
0226         getinstallersarg = ["-c", "/tmp/newskiller.sh" + ' ' + informationModel.currentURL + ' ' + informationModel.orignalFolder] 
0227     }
0228     mainsession.setShellProgram("bash");
0229     mainsession.setArgs(getinstallersarg)
0230     mainsession.startShellProgram();
0231     currentPos = "installerFinished"
0232 }
0233 
0234 function runSysDepInstallerOne(){
0235     installStep.text = "INFO - Running Installer"
0236     pBar.value = 0.4
0237     mainsession.hasFinished = false
0238     currentPos = ""
0239     var getinstallersarg = ""
0240     if (selectedBackend == "osm") {
0241         getinstallersarg = ["-c", "/tmp/alternativeskillerosm.sh" + ' ' + informationModel.currentURL + ' ' + informationModel.orignalFolder]
0242     } else {
0243         getinstallersarg = ["-c", "/tmp/alternativeskiller.sh" + ' ' + informationModel.currentURL + ' ' + informationModel.orignalFolder]
0244     }
0245     mainsession.setShellProgram("bash");
0246     mainsession.setArgs(getinstallersarg)
0247     mainsession.startShellProgram();
0248     currentPos = "installerOneFinished"
0249 }
0250 
0251 function runSysDepInstallerTwo(){
0252     pBar.value = 0.4
0253     mainsession.hasFinished = false
0254     currentPos = ""
0255     console.log(informationModel.skillFolder)
0256     var getinstallersarg2 = ["-c", "/tmp/systemDepsInstall.sh" + ' ' + String(informationModel.skillFolder).toLowerCase()]
0257     mainsession.setShellProgram("bash");
0258     mainsession.setArgs(getinstallersarg2)
0259     mainsession.startShellProgram();
0260     currentPos = "installerFinished"
0261 }
0262 
0263 function cleanBranchInstaller(){
0264     installStep.text = "INFO - Cleaning Branch Installer"
0265     pBar.value = 0.5
0266     mainsession.hasFinished = false
0267     currentPos = ""
0268     var cleaninstallerfiles = ["-c", "rm -rf /tmp/brancher.sh"]
0269     mainsession.setShellProgram("bash");
0270     mainsession.setArgs(cleaninstallerfiles)
0271     mainsession.startShellProgram();
0272     currentPos = "cleanBranchInstallerCompleted"
0273 }
0274 
0275 function getBranchInstaller(){
0276     installStep.text = "INFO - Getting Branch Installer"
0277     pBar.value = 0.6
0278     mainsession.hasFinished = false
0279     currentPos = ""
0280     var getinstallersarg = ["-c", "wget https://raw.githubusercontent.com/AIIX/gui-skills/master/brancher.sh -P /tmp"]
0281     mainsession.setShellProgram("bash");
0282     mainsession.setArgs(getinstallersarg)
0283     mainsession.startShellProgram();
0284     currentPos = "branchInstallerDownloaded"
0285 }
0286 
0287 function setPermissionBranchInstaller(){
0288     installStep.text = "INFO - Setting Branch Installer Permissions"
0289     pBar.value = 0.7
0290     mainsession.hasFinished = false
0291     currentPos = ""
0292     var getinstallersarg = ["-c", "chmod a+x /tmp/brancher.sh"]
0293     mainsession.setShellProgram("bash");
0294     mainsession.setArgs(getinstallersarg)
0295     mainsession.startShellProgram();
0296     currentPos = "branchPermissionSet"
0297 }
0298 
0299 function runBranchInstallers(){
0300     installStep.text = "INFO - Running Branch Installer"
0301     mainsession.hasFinished = false
0302     currentPos = ""
0303     var getinstallersarg = ["-c", "/tmp/brancher.sh" + ' ' + String(informationModel.skillFolder).toLowerCase() + ' ' + informationModel.branch]
0304     mainsession.setShellProgram("bash");
0305     mainsession.setArgs(getinstallersarg)
0306     mainsession.startShellProgram();
0307     if(informationModel.hasDesktopFile){
0308         pBar.value = 0.8
0309         currentPos = "installDesktopFile"
0310     } else {
0311         pBar.value = 1
0312         currentPos = "branchInstallerFinished"
0313     }
0314 }
0315 
0316 function cleanDesktopFileInstaller(){
0317     installStep.text = "INFO - Cleaning DesktopFile Installer"
0318     pBar.value = 0.9
0319     mainsession.hasFinished = false
0320     currentPos = ""
0321     var cleaninstallerfiles = ["-c", "rm -rf /tmp/desktopFileInstaller.sh"]
0322     mainsession.setShellProgram("bash");
0323     mainsession.setArgs(cleaninstallerfiles)
0324     mainsession.startShellProgram();
0325     currentPos = "cleanDesktopInstallerCompleted"
0326 }
0327 
0328 function getDesktopFileInstaller(){
0329     installStep.text = "INFO - Getting DesktopFile Installer"
0330     pBar.value = 0.9
0331     mainsession.hasFinished = false
0332     currentPos = ""
0333     var getinstallersarg = ["-c", "wget https://raw.githubusercontent.com/AIIX/gui-skills/master/desktopFileInstaller.sh -P /tmp"]
0334     mainsession.setShellProgram("bash");
0335     mainsession.setArgs(getinstallersarg)
0336     mainsession.startShellProgram();
0337     currentPos = "desktopFileInstallerDownloaded"
0338 }
0339 
0340 function setPermissionDesktopFileInstaller() {
0341     installStep.text = "INFO - Setting DesktopFile Installer Permissions"
0342     pBar.value = 0.95
0343     mainsession.hasFinished = false
0344     currentPos = ""
0345     var getinstallersarg = ["-c", "chmod a+x /tmp/desktopFileInstaller.sh"]
0346     mainsession.setShellProgram("bash");
0347     mainsession.setArgs(getinstallersarg)
0348     mainsession.startShellProgram();
0349     currentPos = "desktopFilePermissionSet"
0350 }
0351 
0352 function runDesktopFileInstallers(){
0353     installStep.text = "INFO - Running DesktopFile Installer"
0354     pBar.value = 0.98
0355     mainsession.hasFinished = false
0356     currentPos = ""
0357     var getinstallersarg = ["-c", "/tmp/desktopFileInstaller.sh" + ' ' + String(informationModel.skillFolder).toLowerCase()]
0358     mainsession.setShellProgram("bash");
0359     mainsession.setArgs(getinstallersarg)
0360     mainsession.startShellProgram();
0361     currentPos = "desktopFileInstallerFinished"
0362 }
0363 
0364 function cleanRemover(){
0365     installStep.text = "INFO - Cleaning Uninstaller"
0366     pBar.value = 0.25
0367     mainsession.hasFinished = false
0368     currentPos = ""
0369     var cleaninstallerfiles = ""
0370     if (selectedBackend == "osm") {
0371         cleaninstallerfiles = ["-c", "rm -rf /tmp/removerosm.sh"]
0372     } else {
0373         cleaninstallerfiles = ["-c", "rm -rf /tmp/remover.sh"]
0374     }
0375     mainsession.setShellProgram("bash");
0376     mainsession.setArgs(cleaninstallerfiles)
0377     mainsession.startShellProgram();
0378 
0379     if(informationModel.hasDesktopFile){
0380         currentPos = "cleanRemoverOneCompleted"
0381     } else {
0382         currentPos = "cleanRemoverCompleted"
0383     }
0384 }
0385 
0386 function cleanRemoverTwo(){
0387     pBar.value = 0.25
0388     mainsession.hasFinished = false
0389     currentPos = ""
0390     var cleaninstallerfiles = ["-c", "rm -rf /tmp/removeDesktopFile.sh"]
0391     mainsession.setShellProgram("bash");
0392     mainsession.setArgs(cleaninstallerfiles)
0393     mainsession.startShellProgram();
0394     currentPos = "cleanRemoverCompleted"
0395 }
0396 
0397 function getRemovers(){
0398     installStep.text = "INFO - Getting Uninstaller"
0399     pBar.value = 0.5
0400     mainsession.hasFinished = false
0401     currentPos = ""
0402     var getinstallersarg = ""
0403     if (selectedBackend == "osm") {
0404         getinstallersarg = ["-c", "wget https://raw.githubusercontent.com/AIIX/gui-skills/master/removerosm.sh -P /tmp"]
0405     } else {
0406         getinstallersarg = ["-c", "wget https://raw.githubusercontent.com/AIIX/gui-skills/master/remover.sh -P /tmp"]
0407     }
0408     mainsession.setShellProgram("bash");
0409     mainsession.setArgs(getinstallersarg)
0410     mainsession.startShellProgram();
0411     currentPos = "removerDownloaded"
0412 }
0413 
0414 function setPermissionRemover(){
0415     installStep.text = "INFO - Setting Uninstaller Permissions"
0416     pBar.value = 0.75
0417     mainsession.hasFinished = false
0418     currentPos = ""
0419     var getinstallersarg = ""
0420     if (selectedBackend == "osm") {
0421         getinstallersarg = ["-c", "chmod a+x /tmp/removerosm.sh"]
0422     } else {
0423         getinstallersarg = ["-c", "chmod a+x /tmp/remover.sh"]
0424     }
0425     mainsession.setShellProgram("bash");
0426     mainsession.setArgs(getinstallersarg)
0427     mainsession.startShellProgram();
0428 
0429     if(informationModel.hasDesktopFile){
0430         currentPos = "getRemoveDesktopFile"
0431     } else {
0432         pBar.value = 1
0433         currentPos = "permissionSetRemover"
0434     }
0435 }
0436 
0437 function getRemoveDesktopFile(){
0438     installStep.text = "INFO - Getting Desktop File Uninstaller"
0439     pBar.value = 0.5
0440     mainsession.hasFinished = false
0441     currentPos = ""
0442     var getinstallersarg = ["-c", "wget https://raw.githubusercontent.com/AIIX/gui-skills/master/removeDesktopFile.sh -P /tmp"]
0443     mainsession.setShellProgram("bash");
0444     mainsession.setArgs(getinstallersarg)
0445     mainsession.startShellProgram();
0446     currentPos = "setRemoveDesktopFilePerm"
0447 }
0448 
0449 function setRemoveDesktopFilePerm(){
0450     installStep.text = "INFO - Setting Uninstaller Permissions"
0451     pBar.value = 0.80
0452     mainsession.hasFinished = false
0453     currentPos = ""
0454     var getinstallersarg = ["-c", "chmod a+x /tmp/removeDesktopFile.sh"]
0455     mainsession.setShellProgram("bash");
0456     mainsession.setArgs(getinstallersarg)
0457     mainsession.startShellProgram();
0458     currentPos = "removerDesktopFilePermsSet"
0459 }
0460 
0461 function runRemoverDesktopFile(){
0462     installStep.text = "INFO - Remove Desktop File & Icon"
0463     pBar.value = 1
0464     mainsession.hasFinished = false
0465     currentPos = ""
0466     var getinstallersarg = ["-c", "/tmp/removeDesktopFile.sh" + ' ' + informationModel.orignalFolder + ' ' + informationModel.skillFolderName]
0467     mainsession.setShellProgram("bash");
0468     mainsession.setArgs(getinstallersarg)
0469     mainsession.startShellProgram();
0470     currentPos = "permissionSetRemover"
0471 }
0472 
0473 function runRemover(){
0474     installStep.text = "INFO - Running Uninstaller"
0475     pBar.value = 0.9
0476     mainsession.hasFinished = false
0477     currentPos = ""
0478     var getinstallersarg = ""
0479     if (selectedBackend == "osm") {
0480         getinstallersarg = ["-c", "/tmp/removerosm.sh" + ' ' + informationModel.orignalFolder + ' ' + informationModel.skillFolderName]
0481     } else {
0482         getinstallersarg = ["-c", "/tmp/remover.sh" + ' ' + informationModel.orignalFolder + ' ' + informationModel.skillFolderName]
0483     }
0484     mainsession.setShellProgram("bash");
0485     mainsession.setArgs(getinstallersarg)
0486     mainsession.startShellProgram();
0487     pBar.value = 1
0488     currentPos = "removerFinished"
0489 }
0490 
0491 function initUpdate(){
0492     informationModel.skillUpdatePath = "/opt/mycroft/skills/" + lview.mskillName.toLowerCase() + "." + lview.mauthorName.toLowerCase()
0493     mainInstallerDrawer.open()
0494     clearUpdater();
0495 }
0496 
0497 function clearUpdater(){
0498     pBar.value = 0.25
0499     mainsession.hasFinished = false
0500     currentPos = ""
0501     var cleaninstallerfiles = ["-c", "rm -rf /tmp/updater.sh"]
0502     mainsession.setShellProgram("bash");
0503     mainsession.setArgs(cleaninstallerfiles)
0504     mainsession.startShellProgram();
0505     currentPos = "updaterCleared"
0506 }
0507 
0508 function getUpdater(){
0509     installStep.text = "INFO - Getting Updater"
0510     pBar.value = 0.5
0511     mainsession.hasFinished = false
0512     currentPos = ""
0513     var getinstallersarg = ["-c", "wget https://raw.githubusercontent.com/AIIX/gui-skills/master/updater.sh -P /tmp"]
0514     mainsession.setShellProgram("bash");
0515     mainsession.setArgs(getinstallersarg)
0516     mainsession.startShellProgram();
0517     currentPos = "updaterDownloaded"
0518 }
0519 
0520 function setUpdaterPermission(){
0521     installStep.text = "INFO - Setting Updater Permissions"
0522     pBar.value = 0.75
0523     mainsession.hasFinished = false
0524     currentPos = ""
0525     var getinstallersarg = ["-c", "chmod a+x /tmp/updater.sh"]
0526     mainsession.setShellProgram("bash");
0527     mainsession.setArgs(getinstallersarg)
0528     mainsession.startShellProgram();
0529     currentPos = "updaterPermsSet"
0530 }
0531 
0532 function runUpdater(){
0533     installStep.text = "INFO - Running Updater Process 1"
0534     pBar.value = 0.9
0535     mainsession.hasFinished = false
0536     currentPos = ""
0537     var getinstallersarg = ["-c", "/tmp/updater.sh" + ' ' + informationModel.skillUpdatePath]
0538     mainsession.setShellProgram("bash");
0539     mainsession.setArgs(getinstallersarg)
0540     mainsession.startShellProgram();
0541     pBar.value = 1
0542     currentPos = "updaterFinished"
0543 }