def beginProjectInstallation(self): """ Begin installation of this project. """ self.main_btn_enable_signal.emit(False) SaveHelper.executeNonQuery( """ INSERT INTO projects( name, author, version ) VALUES (?, ?, ?) """, self.project_name, self.project_author, self.project_version, ) id = SaveHelper.getLastInsertId() self.project_id = id path = SaveHelper.getProjectsDir(self.project_id) if not os.path.exists(path): os.makedirs(path) if not os.path.exists(SaveHelper.getDownloadsDir()): os.makedirs(SaveHelper.getDownloadsDir()) self.worker_thread.start()
def cleanUpAfterInstall(self): """ Clean up the downloaded files after the installation... """ self.log_signal.emit("Cleaning up...", False) shutil.rmtree(SaveHelper.getDownloadsDir(), ignore_errors=False) self.log_signal.emit("Done!", False) self.main_btn_enable_signal.emit(True)
def startForgeDownload(self): """ Download minecraft forge. """ global FORGE_DOWNLOAD_URL self.log_signal.emit("Downloading minecraft forge...", False) NetworkHelper.downloadFile(FORGE_DOWNLOAD_URL, SaveHelper.getDownloadsDir() + "MCF.zip") self.log_signal.emit("Done!", True) self.unzipForgeZip()
def unzipForgeZip(self): """ Unzip file into the project directory. """ self.log_signal.emit("Unpacking working directory...", False) with ZipFile(SaveHelper.getDownloadsDir() + "MCF.zip") as z: z.extractall(SaveHelper.getProjectsDir(self.project_id)) z.close() self.log_signal.emit("Done!", True) self.setupWorkspace()