summaryrefslogtreecommitdiff
path: root/src/projManagement/Kicad.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/projManagement/Kicad.py')
-rw-r--r--src/projManagement/Kicad.py166
1 files changed, 94 insertions, 72 deletions
diff --git a/src/projManagement/Kicad.py b/src/projManagement/Kicad.py
index ec3c69da..2eaef643 100644
--- a/src/projManagement/Kicad.py
+++ b/src/projManagement/Kicad.py
@@ -1,95 +1,107 @@
-#===============================================================================
+# =========================================================================
#
# FILE: openKicad.py
-#
-# USAGE: ---
-#
+#
+# USAGE: ---
+#
# DESCRIPTION: It call kicad schematic
-#
+#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Fahim Khan, fahim.elex@gmail.com
# ORGANIZATION: eSim team at FOSSEE, IIT Bombay.
-# CREATED: Tuesday 17 Feb 2015
+# CREATED: Tuesday 17 Feb 2015
# REVISION: ---
-#===============================================================================
+# =========================================================================
import os
-import Validation
+from . import Validation
from configuration.Appconfig import Appconfig
-import Worker
+from . import Worker
from PyQt4 import QtGui
+
class Kicad:
"""
- This class called the Kicad Schematic,KicadtoNgspice Converter,Layout editor and Footprint Editor
+ This class called the Kicad Schematic,KicadtoNgspice Converter,Layout
+ editor and Footprint Editor
"""
- def __init__(self,dockarea):
+
+ def __init__(self, dockarea):
self.obj_validation = Validation.Validation()
self.obj_appconfig = Appconfig()
- self.obj_dockarea= dockarea
-
+ self.obj_dockarea = dockarea
+
def openSchematic(self):
"""
This function create command to open Kicad schematic
"""
- print "Function : Open Kicad Schematic"
+ print("Function : Open Kicad Schematic")
self.projDir = self.obj_appconfig.current_project["ProjectName"]
try:
- self.obj_appconfig.print_info('Kicad Schematic is called for project ' + self.projDir)
- except:
- pass
- #Validating if current project is available or not
-
+ self.obj_appconfig.print_info(
+ 'Kicad Schematic is called for project ' + self.projDir)
+ except BaseException:
+ pass
+ # Validating if current project is available or not
+
if self.obj_validation.validateKicad(self.projDir):
- #print "calling Kicad schematic ",self.projDir
+ # print "calling Kicad schematic ",self.projDir
self.projName = os.path.basename(self.projDir)
- self.project = os.path.join(self.projDir,self.projName)
-
- #Creating a command to run
- self.cmd = "eeschema "+self.project+".sch "
+ self.project = os.path.join(self.projDir, self.projName)
+
+ # Creating a command to run
+ self.cmd = "eeschema " + self.project + ".sch "
self.obj_workThread = Worker.WorkerThread(self.cmd)
self.obj_workThread.start()
-
+
else:
self.msg = QtGui.QErrorMessage(None)
- self.msg.showMessage('Please select the project first. You can either create new project or open existing project')
- self.obj_appconfig.print_warning('Please select the project first. You can either create new project or open existing project')
+ self.msg.showMessage(
+ 'Please select the project first. You can either create'
+ + 'new project or open existing project')
+ self.obj_appconfig.print_warning(
+ 'Please select the project first. You can either create'
+ + 'new project or open existing project')
self.msg.setWindowTitle("Error Message")
-
-
+
'''
- #Commenting as it is no longer needed as PBC and Layout will open from eeschema
+ # Commenting as it is no longer needed as PBC and Layout will open from
+ # eeschema
def openFootprint(self):
"""
- This function create command to open Footprint editor
+ This function create command to open Footprint editor
"""
print "Kicad Foot print Editor called"
self.projDir = self.obj_appconfig.current_project["ProjectName"]
- try:
- self.obj_appconfig.print_info('Kicad Footprint Editor is called for project : ' + self.projDir)
+ try:
+ self.obj_appconfig.print_info('Kicad Footprint Editor is called'
+ + 'for project : ' + self.projDir)
except:
pass
#Validating if current project is available or not
-
+
if self.obj_validation.validateKicad(self.projDir):
#print "calling Kicad FootPrint Editor ",self.projDir
self.projName = os.path.basename(self.projDir)
self.project = os.path.join(self.projDir,self.projName)
-
+
#Creating a command to run
self.cmd = "cvpcb "+self.project+".net "
self.obj_workThread = Worker.WorkerThread(self.cmd)
self.obj_workThread.start()
-
+
else:
self.msg = QtGui.QErrorMessage(None)
- self.msg.showMessage('Please select the project first. You can either create new project or open existing project')
- self.obj_appconfig.print_warning('Please select the project first. You can either create new project or open existing project')
+ self.msg.showMessage('Please select the project first. You can'
+ + 'either create new project or open existing project')
+ self.obj_appconfig.print_warning('Please select the project'
+ + 'first. You can either create new project or open existing'
+ + 'project')
self.msg.setWindowTitle("Error Message")
-
+
def openLayout(self):
"""
This function create command to open Layout editor
@@ -97,68 +109,78 @@ class Kicad:
print "Kicad Layout is called"
self.projDir = self.obj_appconfig.current_project["ProjectName"]
try:
- self.obj_appconfig.print_info('PCB Layout is called for project : ' + self.projDir)
+ self.obj_appconfig.print_info('PCB Layout is called for project : '
+ + self.projDir)
except:
- pass
+ pass
#Validating if current project is available or not
if self.obj_validation.validateKicad(self.projDir):
print "calling Kicad schematic ",self.projDir
self.projName = os.path.basename(self.projDir)
self.project = os.path.join(self.projDir,self.projName)
-
+
#Creating a command to run
self.cmd = "pcbnew "+self.project+".net "
self.obj_workThread = Worker.WorkerThread(self.cmd)
self.obj_workThread.start()
-
+
else:
- self.msg = QtGui.QErrorMessage(None)
- self.msg.showMessage('Please select the project first. You can either create new project or open existing project')
- self.obj_appconfig.print_warning('Please select the project first. You can either create new project or open existing project')
- self.msg.setWindowTitle("Error Message")
-
+ self.msg = QtGui.QErrorMessage(None)
+ self.msg.showMessage('Please select the project first. You can'
+ + 'either create new project or open existing project')
+ self.obj_appconfig.print_warning('Please select the project'
+ + 'first. You can either create new project or open existing'
+ + 'project')
+ self.msg.setWindowTitle("Error Message")
+
'''
-
+
def openKicadToNgspice(self):
"""
This function create command to call kicad to Ngspice converter.
"""
- print "Function: Open Kicad to Ngspice Converter"
-
+ print("Function: Open Kicad to Ngspice Converter")
+
self.projDir = self.obj_appconfig.current_project["ProjectName"]
try:
- self.obj_appconfig.print_info('Kicad to Ngspice Conversion is called')
+ self.obj_appconfig.print_info(
+ 'Kicad to Ngspice Conversion is called')
self.obj_appconfig.print_info('Current Project is ' + self.projDir)
- except:
+ except BaseException:
pass
- #Validating if current project is available or not
+ # Validating if current project is available or not
if self.obj_validation.validateKicad(self.projDir):
- #Cheking if project has .cir file or not
+ # Cheking if project has .cir file or not
if self.obj_validation.validateCir(self.projDir):
self.projName = os.path.basename(self.projDir)
- self.project = os.path.join(self.projDir,self.projName)
-
- #Creating a command to run
+ self.project = os.path.join(self.projDir, self.projName)
+
+ # Creating a command to run
"""
- self.cmd = "python ../kicadtoNgspice/KicadtoNgspice.py " +self.project+".cir "
+ self.cmd = ("python ../kicadtoNgspice/KicadtoNgspice.py "
+ + "self.project+".cir ")
self.obj_workThread = Worker.WorkerThread(self.cmd)
self.obj_workThread.start()
"""
- var=self.project+".cir"
+ var = self.project + ".cir"
self.obj_dockarea.kicadToNgspiceEditor(var)
-
-
-
+
else:
self.msg = QtGui.QErrorMessage(None)
- self.msg.showMessage('The project does not contain any Kicad netlist file for conversion.')
- self.obj_appconfig.print_error('The project does not contain any Kicad netlist file for conversion.')
- self.msg.setWindowTitle("Error Message")
-
+ self.msg.showMessage(
+ 'The project does not contain any Kicad netlist file for'
+ + 'conversion.')
+ self.obj_appconfig.print_error(
+ 'The project does not contain any Kicad netlist file for'
+ + 'conversion.')
+ self.msg.setWindowTitle("Error Message")
+
else:
self.msg = QtGui.QErrorMessage(None)
- self.msg.showMessage('Please select the project first. You can either create new project or open existing project')
- self.obj_appconfig.print_warning('Please select the project first. You can either create new project or open existing project')
- self.msg.setWindowTitle("Error Message")
-
- \ No newline at end of file
+ self.msg.showMessage(
+ 'Please select the project first. You can either create'
+ + 'new project or open existing project')
+ self.obj_appconfig.print_warning(
+ 'Please select the project first. You can either create'
+ + 'new project or open existing project')
+ self.msg.setWindowTitle("Error Message")