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()