diff options
author | Fahim | 2015-10-16 17:39:40 +0530 |
---|---|---|
committer | Fahim | 2015-10-16 17:39:40 +0530 |
commit | 5122bdf3700de9479fb18b95e30eecb98e4caf77 (patch) | |
tree | c02e13eba1b877933ddc09ff130530725e1d2e46 /src/pspicetoKicad/ImportPspice.py | |
parent | c5a5c9eda015f8855c5e8481834a740fc5b625b4 (diff) | |
download | eSim-5122bdf3700de9479fb18b95e30eecb98e4caf77.tar.gz eSim-5122bdf3700de9479fb18b95e30eecb98e4caf77.tar.bz2 eSim-5122bdf3700de9479fb18b95e30eecb98e4caf77.zip |
Subject: Modification for Pspice to Kicad converter
Description: Modification for Pspice to Kicad converter.
Diffstat (limited to 'src/pspicetoKicad/ImportPspice.py')
-rw-r--r-- | src/pspicetoKicad/ImportPspice.py | 93 |
1 files changed, 68 insertions, 25 deletions
diff --git a/src/pspicetoKicad/ImportPspice.py b/src/pspicetoKicad/ImportPspice.py index db485aad..1b97efc0 100644 --- a/src/pspicetoKicad/ImportPspice.py +++ b/src/pspicetoKicad/ImportPspice.py @@ -2,6 +2,8 @@ from PyQt4 import QtGui,QtCore from configuration.Appconfig import Appconfig import os import platform +import shutil +import glob class ImportPspiceLibrary(QtGui.QWidget): """ @@ -13,26 +15,37 @@ class ImportPspiceLibrary(QtGui.QWidget): def imortLib(self): self.home = os.path.expanduser("~") - self.libLocation = QtGui.QFileDialog.getOpenFileName(self,"open",self.home) - self.obj_Appconfig.print_info('File selected : '+self.libLocation) + 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.libLocation + self.cmd = "../pspicetoKicad/libConverter64 "+self.arg else: - self.cmd = "../pspicetoKicad/libConverter32 "+self.libLocation - + 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) @@ -40,13 +53,14 @@ class ImportPspiceLibrary(QtGui.QWidget): self.msg.setWindowTitle("Message") self.obj_Appconfig.print_info(self.msgContent) self.msg.exec_() - 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") - + + + class ConvertPspiceKicad(QtGui.QWidget): """ @@ -59,30 +73,59 @@ class ConvertPspiceKicad(QtGui.QWidget): def runConverter(self): self.obj_Appconfig.print_info('Running PSPICE to Kicad converter') self.home = os.path.expanduser("~") + 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.worspace_loc = self.obj_Appconfig.default_workspace['workspace'] - self.outputDir = os.path.join(self.worspace_loc,self.pspiceSchFileName) + 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) + 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) + + def createProjectFile(self,pspiceSchFileLoc,outputDir): + print "Create Project File is called" #Create command to be run if platform.system() == 'Linux': #Check for 32 or 64 bit if platform.architecture()[0] == '64bit': - self.cmd = "../pspicetoKicad/schConverter64 "+self.pspiceSchFileLoc+" "+self.outputDir + self.cmd = "../pspicetoKicad/schConverter64 "+pspiceSchFileLoc+" "+self.outputDir else: - self.cmd = "../pspicetoKicad/schConverter32 "+self.pspiceSchFileLoc+" "+self.outputDir - + self.cmd = "../pspicetoKicad/schConverter32 "+pspiceSchFileLoc+" "+self.outputDir elif platform.system() == 'Windows': print "Needs to include for Windows" #Running command 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>"+self.outputDir+"</b>.<br/>\ You can open the project from eSim workspace" self.msg.setTextFormat(QtCore.Qt.RichText) self.msg.setText(self.msgContent) @@ -96,8 +139,8 @@ class ConvertPspiceKicad(QtGui.QWidget): self.obj_Appconfig.print_error('Error while converting PSPICE schematic to Kicad Schematic') self.msg.setWindowTitle("Error Message") - - - - -
\ No newline at end of file + def errorRemove(self,func, path, exc): + self.msg = QtGui.QErrorMessage(None) + self.msg.showMessage('Error while removing existing project. <br/> Please check whether directory is Read only.') + self.obj_Appconfig.print_error('Error while removing existing project') + self.msg.setWindowTitle("Error Message")
\ No newline at end of file |