Fixed an issue with mac app cwd being in the wrong place.

This commit is contained in:
Joey Payne 2014-03-31 20:18:56 -06:00
commit dc554354d9

17
main.py
View file

@ -1,5 +1,5 @@
from utils import zip_files, join_files from utils import zip_files, join_files
import sys, os, glob, json, re, shutil, stat, tarfile, zipfile import sys, os, glob, json, re, shutil, stat, tarfile, zipfile, traceback
from PySide import QtGui, QtCore from PySide import QtGui, QtCore
from PySide.QtGui import QApplication from PySide.QtGui import QApplication
from PySide.QtNetwork import QHttp from PySide.QtNetwork import QHttp
@ -7,6 +7,14 @@ from PySide.QtCore import QUrl, QFileInfo, QFile, QIODevice
from zipfile import ZipFile from zipfile import ZipFile
from tarfile import TarFile from tarfile import TarFile
frozen = getattr(sys, 'frozen', '')
if frozen:
CWD = os.path.dirname(sys.executable)
os.chdir(CWD)
else:
CWD = os.getcwd()
class WThread(QtCore.QThread): class WThread(QtCore.QThread):
def __init__(self, widget, method_name, parent=None): def __init__(self, widget, method_name, parent=None):
QtCore.QThread.__init__(self, parent) QtCore.QThread.__init__(self, parent)
@ -322,6 +330,8 @@ class MainWindow(QtGui.QWidget):
def doneMakingFiles(self): def doneMakingFiles(self):
self.ex_button.setEnabled(True) self.ex_button.setEnabled(True)
self.progress_label.setText('Done Exporting.') self.progress_label.setText('Done Exporting.')
if self.output_err:
QtGui.QMessageBox.information(self, 'Error!', str(self.output_err))
def extractFilesInBackground(self): def extractFilesInBackground(self):
self.progress_label.setText('Extracting') self.progress_label.setText('Extracting')
@ -735,7 +745,7 @@ class MainWindow(QtGui.QWidget):
return str(val) return str(val)
def copyFilesToProjectFolder(self): def copyFilesToProjectFolder(self):
old_dir = os.getcwd() old_dir = CWD
os.chdir(self.projectDir()) os.chdir(self.projectDir())
for sgroup in self._setting_groups: for sgroup in self._setting_groups:
for setting in sgroup.values(): for setting in sgroup.values():
@ -749,6 +759,7 @@ class MainWindow(QtGui.QWidget):
os.chdir(old_dir) os.chdir(old_dir)
def makeOutputDirs(self): def makeOutputDirs(self):
self.output_err = ''
try: try:
self.progress_label.setText('Removing old output directory...') self.progress_label.setText('Removing old output directory...')
@ -809,6 +820,8 @@ class MainWindow(QtGui.QWidget):
self.progress_label.setText(self.progress_label.text()+'.') self.progress_label.setText(self.progress_label.text()+'.')
os.remove(nw_path) os.remove(nw_path)
except Exception as e:
self.output_err += ''.join(traceback.format_exception(sys.exc_info()[0], sys.exc_info()[1], sys.exc_info()[2]))
finally: finally:
shutil.rmtree(tempDir) shutil.rmtree(tempDir)