summaryrefslogtreecommitdiff
path: root/src/pspicetoKicad/ImportPspice.py
diff options
context:
space:
mode:
authorFahim2015-10-19 17:57:21 +0530
committerFahim2015-10-19 17:57:21 +0530
commit664ba991489f9e7370ab17af944a9c730c57f0cf (patch)
treedf046ab6fa09f9ee38f4ff422fa161a150f6de14 /src/pspicetoKicad/ImportPspice.py
parent5122bdf3700de9479fb18b95e30eecb98e4caf77 (diff)
downloadeSim-664ba991489f9e7370ab17af944a9c730c57f0cf.tar.gz
eSim-664ba991489f9e7370ab17af944a9c730c57f0cf.tar.bz2
eSim-664ba991489f9e7370ab17af944a9c730c57f0cf.zip
Subject: Modified Kicad import Library code
Description: Handle exception if error occurs while converting schematic. Added condition for cancel button.
Diffstat (limited to 'src/pspicetoKicad/ImportPspice.py')
-rw-r--r--src/pspicetoKicad/ImportPspice.py156
1 files changed, 88 insertions, 68 deletions
diff --git a/src/pspicetoKicad/ImportPspice.py b/src/pspicetoKicad/ImportPspice.py
index 1b97efc0..c92f7582 100644
--- a/src/pspicetoKicad/ImportPspice.py
+++ b/src/pspicetoKicad/ImportPspice.py
@@ -16,52 +16,66 @@ class ImportPspiceLibrary(QtGui.QWidget):
def imortLib(self):
self.home = os.path.expanduser("~")
self.worspace_loc = self.obj_Appconfig.default_workspace['workspace']
- #self.sourceLoc = os.path.join(str(os.getcwd()),"*.lib")
self.destinationLoc = os.path.join(self.worspace_loc,"ConvertedLib")
self.libLocation = QtGui.QFileDialog.getOpenFileNames(self,"open",self.home,"*.slb")
self.tempList = [] #Hold library file in the form of string
- #print "Source---------->",self.sourceLoc
- print "Destination--------->",self.destinationLoc
-
- for item in self.libLocation:
- self.tempList.append(str(item))
-
- self.obj_Appconfig.print_info('File selected : '+str(self.tempList))
- self.arg = ' '.join(self.tempList)
-
- #Create command to run
- if platform.system() == 'Linux':
- #Check for 32 or 64 bit
- if platform.architecture()[0] == '64bit':
- self.cmd = "../pspicetoKicad/libConverter64 "+self.arg
+ if self.libLocation:
+ for item in self.libLocation:
+ self.tempList.append(str(item))
+
+ self.obj_Appconfig.print_info('File selected : '+str(self.tempList))
+ self.arg = ' '.join(self.tempList)
+ #Create command to run
+ if platform.system() == 'Linux':
+ #Check for 32 or 64 bit
+ if platform.architecture()[0] == '64bit':
+ self.cmd = "../pspicetoKicad/libConverter64 "+self.arg
+ else:
+ self.cmd = "../pspicetoKicad/libConverter32 "+self.arg
+ elif platform.system() == 'Windows':
+ print "Needs to include for Windows"
+
+ self.status = os.system(str(self.cmd))
+
+ if self.status == 0:
+ self.libLocation = os.path.join(self.worspace_loc,"ConvertedLib")
+
+ #Check if library is present
+ if os.path.isdir(self.libLocation):
+ pass
+ else:
+ os.mkdir(self.libLocation)
+ try:
+ #Moving files to necessary location
+ for libfile in glob.glob('*.lib'):
+ self.obj_Appconfig.print_info('Copying file '+libfile+' to ' +self.libLocation)
+ shutil.copy(libfile, self.libLocation)
+ self.obj_Appconfig.print_info('Removing file '+libfile)
+ os.remove(libfile)
+
+ self.msg = QtGui.QMessageBox()
+ self.msgContent = "Successfully imported and converted PSPICE library to Kicad library.<br/>"
+ self.msg.setTextFormat(QtCore.Qt.RichText)
+ self.msg.setText(self.msgContent)
+ self.msg.setWindowTitle("Message")
+ self.obj_Appconfig.print_info(self.msgContent)
+ self.msg.exec_()
+ except Exception as e:
+ self.msg = QtGui.QErrorMessage(None)
+ self.msg.showMessage('Error while moving libaray to '+self.libLocation+ " "+str(e))
+ self.obj_Appconfig.print_error('Error while moving libaray to '+self.libLocation+ " "+str(e))
+ self.msg.setWindowTitle('Error Message')
else:
- self.cmd = "../pspicetoKicad/libConverter32 "+self.arg
- elif platform.system() == 'Windows':
- print "Needs to include for Windows"
-
- self.status = os.system(str(self.cmd))
-
- if self.status == 0:
- #Moving files to necessary location
- for libfile in glob.glob('*.lib'):
- shutil.move(libfile, self.worspace_loc)
- self.msg = QtGui.QMessageBox()
- self.msgContent = "Successfully imported and converted PSPICE library to Kicad library.<br/>"
- self.msg.setTextFormat(QtCore.Qt.RichText)
- self.msg.setText(self.msgContent)
- self.msg.setWindowTitle("Message")
- self.obj_Appconfig.print_info(self.msgContent)
- self.msg.exec_()
+ self.msg = QtGui.QErrorMessage(None)
+ self.msg.showMessage('Error while converting PSPICE library to Kicad library')
+ self.obj_Appconfig.print_error('Error while converting PSPICE library to Kicad library')
+ self.msg.setWindowTitle("Error Message")
+
else:
- self.msg = QtGui.QErrorMessage(None)
- self.msg.showMessage('Error while converting PSPICE library to Kicad library')
- self.obj_Appconfig.print_error('Error while converting PSPICE library to Kicad library')
- self.msg.setWindowTitle("Error Message")
-
+ self.obj_Appconfig.print_info('No files selected. Process Aborted')
-
-
+
class ConvertPspiceKicad(QtGui.QWidget):
"""
This is used to convert Pspice schematic into Kicad schematic
@@ -76,56 +90,62 @@ class ConvertPspiceKicad(QtGui.QWidget):
self.worspace_loc = self.obj_Appconfig.default_workspace['workspace']
self.pspiceSchFileLoc = QtGui.QFileDialog.getOpenFileName(self,"open",self.home)
- self.pspiceSchFileName = os.path.basename(str(self.pspiceSchFileLoc))
- self.pspiceProjName = os.path.splitext(self.pspiceSchFileName)[0]
- self.outputDir = os.path.join(self.worspace_loc,self.pspiceProjName)
- #Check if project is already exists
- if os.path.isdir(self.outputDir):
- print "Already present"
- self.obj_Appconfig.print_info("Output Project "+self.outputDir+" is already present")
- reply = QtGui.QMessageBox.question(self, 'Message',"eSim project with same name is already exist. Do you want to delete it ?", \
- QtGui.QMessageBox.Yes |QtGui.QMessageBox.No, QtGui.QMessageBox.No)
- if reply == QtGui.QMessageBox.Yes:
- print "Deleting Project and creating new"
- self.obj_Appconfig.print_info("Deleting Project and creating new")
- shutil.rmtree(self.outputDir, ignore_errors=False, onerror=self.errorRemove)
+ if self.pspiceSchFileLoc:
+ self.pspiceSchFileName = os.path.basename(str(self.pspiceSchFileLoc))
+ self.pspiceProjName = os.path.splitext(self.pspiceSchFileName)[0]
+ self.outputDir = os.path.join(self.worspace_loc,self.pspiceProjName)
+
+ #Check if project is already exists
+ if os.path.isdir(self.outputDir):
+ self.obj_Appconfig.print_info("Output Directory already present")
+ self.obj_Appconfig.print_info("Output Project "+self.outputDir+" is already present")
+ reply = QtGui.QMessageBox.question(self, 'Message',"eSim project with same name is already exist. Do you want to delete it ?", \
+ QtGui.QMessageBox.Yes |QtGui.QMessageBox.No, QtGui.QMessageBox.No)
+ if reply == QtGui.QMessageBox.Yes:
+ print "Deleting Project and creating new"
+ self.obj_Appconfig.print_info("Deleting Project and creating new")
+ shutil.rmtree(self.outputDir, ignore_errors=False, onerror=self.errorRemove)
+ os.mkdir(self.outputDir)
+ #Calling Function
+ self.createProjectFile(self.pspiceSchFileLoc,self.outputDir)
+ else:
+ self.msg = QtGui.QMessageBox()
+ self.msgContent = "PSPICE to Kicad schematic conversion aborted.<br/>\
+ You can change the Pspice schematic file name and upload it again.<br/>"
+ self.msg.setTextFormat(QtCore.Qt.RichText)
+ self.msg.setText(self.msgContent)
+ self.msg.setWindowTitle("Message")
+ self.obj_Appconfig.print_info(self.msgContent)
+ self.msg.exec_()
+ else:
os.mkdir(self.outputDir)
#Calling Function
self.createProjectFile(self.pspiceSchFileLoc,self.outputDir)
- else:
- self.msg = QtGui.QMessageBox()
- self.msgContent = "PSPICE to Kicad schematic conversion aborted.<br/>\
- You can change the Pspice schematic file name and upload it again.<br/>"
- self.msg.setTextFormat(QtCore.Qt.RichText)
- self.msg.setText(self.msgContent)
- self.msg.setWindowTitle("Message")
- self.obj_Appconfig.print_info(self.msgContent)
- self.msg.exec_()
else:
- os.mkdir(self.outputDir)
- #Calling Function
- self.createProjectFile(self.pspiceSchFileLoc,self.outputDir)
+ self.obj_Appconfig.print_info('No file selected. Process Aborted')
def createProjectFile(self,pspiceSchFileLoc,outputDir):
print "Create Project File is called"
+ print "Schematic File Location---------->",pspiceSchFileLoc
+ print "Output Directory-------------->",outputDir
#Create command to be run
if platform.system() == 'Linux':
#Check for 32 or 64 bit
if platform.architecture()[0] == '64bit':
- self.cmd = "../pspicetoKicad/schConverter64 "+pspiceSchFileLoc+" "+self.outputDir
+ self.cmd = "../pspicetoKicad/schConverter64 "+pspiceSchFileLoc+" "+outputDir
else:
- self.cmd = "../pspicetoKicad/schConverter32 "+pspiceSchFileLoc+" "+self.outputDir
+ self.cmd = "../pspicetoKicad/schConverter32 "+pspiceSchFileLoc+" "+outputDir
elif platform.system() == 'Windows':
print "Needs to include for Windows"
#Running command
- self.status = os.system(str(self.cmd))
+ self.status = os.system(str(self.cmd))
if self.status == 0:
self.msg = QtGui.QMessageBox()
self.msgContent = "Successfully converted PSPICE schematic to Kicad Schematic.<br/>\
- Project is available in eSim workspace at <b>"+self.outputDir+"</b>.<br/>\
+ Project is available in eSim workspace at <b>"+outputDir+"</b>.<br/>\
You can open the project from eSim workspace"
self.msg.setTextFormat(QtCore.Qt.RichText)
self.msg.setText(self.msgContent)