blob: 5e98d24a57a93e9c5c61a2794b6ac30ba7e36ed3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
from PyQt4 import QtGui
from projManagement.Validation import Validation
from configuration.Appconfig import Appconfig
from projManagement import Worker
import os
# This class is called when User creates new Project.
class NewSub(QtGui.QWidget):
"""
Contains functions to check :
- Name of project should not be blank.
- Name should not contain space between them.
- Name does not match with existing project.
"""
def __init__(self):
super(NewSub, self).__init__()
self.obj_validation = Validation()
self.obj_appconfig = Appconfig()
def createSubcircuit(self, subName):
"""
- This function create workspace for subcircuit.
- It also validate file names for Subcircuits:
- File name should not contain space.
- Name can not be empty.
- File name already exists.
"""
self.create_schematic = subName
# Checking if Workspace already exist or not
self.schematic_path = (
os.path.join(
os.path.abspath('library'),
'SubcircuitLibrary',
self.create_schematic))
# Validation for new subcircuit
if self.schematic_path == "":
self.reply = "NONE"
else:
self.reply = self.obj_validation.validateNewproj(
str(self.schematic_path))
# Checking Validations Response
if self.reply == "VALID":
print("Validated : Creating subcircuit directory")
try:
os.mkdir(self.schematic_path)
self.schematic = os.path.join(
self.schematic_path, self.create_schematic)
self.cmd = "eeschema " + self.schematic + ".sch"
self.obj_workThread = Worker.WorkerThread(self.cmd)
self.obj_workThread.start()
self.close()
except BaseException:
self.msg = QtGui.QErrorMessage(self)
self.msg.setModal(True)
self.msg.setWindowTitle("Error Message")
self.msg.showMessage(
'Unable to create subcircuit. Please make sure ' +
'you have write permission on ' + self.schematic_path
)
self.msg.exec_()
self.obj_appconfig.current_subcircuit['SubcircuitName'] \
= self.schematic_path
elif self.reply == "CHECKEXIST":
self.msg = QtGui.QErrorMessage(self)
self.msg.setModal(True)
self.msg.setWindowTitle("Error Message")
self.msg.showMessage(
'The subcircuit "' + self.create_schematic +
'" already exist.Please select the different name or delete' +
'existing subcircuit'
)
self.msg.exec_()
elif self.reply == "CHECKNAME":
self.msg = QtGui.QErrorMessage(self)
self.msg.setModal(True)
self.msg.setWindowTitle("Error Message")
self.msg.showMessage(
'The subcircuit name should not contain space between them'
)
self.msg.exec_()
elif self.reply == "NONE":
self.msg = QtGui.QErrorMessage(self)
self.msg.setModal(True)
self.msg.setWindowTitle("Error Message")
self.msg.showMessage('The subcircuit name cannot be empty')
self.msg.exec_()
|