summaryrefslogtreecommitdiff
path: root/src/projManagement/Validation.py
diff options
context:
space:
mode:
authorfossee2019-08-29 12:03:11 +0530
committerfossee2019-08-29 12:03:11 +0530
commitfe3bd934634bb2dae1cadf35e7c6d59facbedf66 (patch)
treeab841ad9ca3d56f7eb85cb3650f6608b80656027 /src/projManagement/Validation.py
parentf7567ac99f21fb6c87d60f309f0aa71dee6ae975 (diff)
downloadeSim-fe3bd934634bb2dae1cadf35e7c6d59facbedf66.tar.gz
eSim-fe3bd934634bb2dae1cadf35e7c6d59facbedf66.tar.bz2
eSim-fe3bd934634bb2dae1cadf35e7c6d59facbedf66.zip
adding files
Diffstat (limited to 'src/projManagement/Validation.py')
-rw-r--r--src/projManagement/Validation.py134
1 files changed, 134 insertions, 0 deletions
diff --git a/src/projManagement/Validation.py b/src/projManagement/Validation.py
new file mode 100644
index 00000000..a582cab5
--- /dev/null
+++ b/src/projManagement/Validation.py
@@ -0,0 +1,134 @@
+
+#===============================================================================
+#
+# FILE: Validation.py
+#
+# USAGE: ---
+#
+# DESCRIPTION: This module is use to create validation for openProject,newProject and other activity.
+#
+# OPTIONS: ---
+# REQUIREMENTS: ---
+# BUGS: ---
+# NOTES: ---
+# AUTHOR: Fahim Khan, fahim.elex@gmail.com
+# ORGANIZATION: eSim team at FOSSEE, IIT Bombay.
+# CREATED: Wednesday 12 February 2015
+# REVISION: ---
+#===============================================================================
+import os
+import re
+import distutils.spawn
+
+
+class Validation:
+ """
+ This is Validation class use for validating Project.
+ e.g if .proj is present in project directory
+ or if new project name is already exist in workspace etc
+ """
+ def __init__(self):
+ pass
+
+ def validateOpenproj(self,projDir):
+ """
+ This function validate Open Project Information.
+ """
+ print "Function: Validating Open Project Information"
+ projName = os.path.basename(str(projDir))
+ lookProj = os.path.join(str(projDir),projName+".proj")
+ #Check existence of project
+ if os.path.exists(lookProj):
+ return True
+ else:
+ return False
+
+
+
+ def validateNewproj(self,projDir):
+ """
+ This Project Validate New Project Information
+ """
+ print "Function: Validating New Project Information"
+
+ #Checking existence of project with same name
+ if os.path.exists(projDir):
+ return "CHECKEXIST" #Project with name already exist
+ else:
+ #Check Proper name for project. It should not have space
+ if re.search(r"\s",projDir ):
+ return "CHECKNAME"
+ else:
+ return "VALID"
+
+ def validateKicad(self,projDir):
+ """
+ This function validate if Kicad components are present
+ """
+ print "FUnction : Validating for Kicad components"
+ if projDir == None:
+ return False
+ else:
+ return True
+
+ def validateCir(self,projDir):
+ """
+ This function checks if ".cir" file is present.
+ """
+ projName = os.path.basename(str(projDir))
+ lookCir = os.path.join(str(projDir),projName+".cir")
+ #Check existence of project
+ if os.path.exists(lookCir):
+ return True
+ else:
+ return False
+
+ def validateSub(self,subDir,givenNum):
+ """
+ This function checks if ".sub" file is present.
+ """
+ subName = os.path.basename(str(subDir))
+ lookSub = os.path.join(str(subDir),subName+".sub")
+ #Check existence of project
+ if os.path.exists(lookSub):
+ f = open(lookSub)
+ data=f.read()
+ f.close()
+ netlist=data.splitlines()
+ for eachline in netlist:
+ eachline=eachline.strip()
+ if len(eachline)<1:
+ continue
+ words=eachline.split()
+ if words[0] == '.subckt':
+ #The number of ports is specified in this line
+ #eg. '.subckt ua741 6 7 3' has 3 ports (6, 7 and 3).
+ numPorts = len(words) - 2
+ print "Looksub : ",lookSub
+ print "Given Number of ports : ",givenNum
+ print "Actual Number of ports :",numPorts
+ if numPorts != givenNum:
+ return "PORT"
+ else:
+ return "True"
+ else:
+ return "DIREC"
+
+ def validateCirOut(self,projDir):
+ """
+ This function checks if ".cir.out" file is present.
+ """
+ projName = os.path.basename(str(projDir))
+ lookCirOut = os.path.join(str(projDir),projName+".cir.out")
+ #Check existence of project
+ if os.path.exists(lookCirOut):
+ return True
+ else:
+ return False
+
+ def validateTool(self,toolName):
+ """
+ This function check if tool is present in the system
+ """
+ return distutils.spawn.find_executable(toolName) is not None
+ \ No newline at end of file