diff options
author | fossee | 2019-08-29 12:03:11 +0530 |
---|---|---|
committer | fossee | 2019-08-29 12:03:11 +0530 |
commit | fe3bd934634bb2dae1cadf35e7c6d59facbedf66 (patch) | |
tree | ab841ad9ca3d56f7eb85cb3650f6608b80656027 /src/projManagement/Validation.py | |
parent | f7567ac99f21fb6c87d60f309f0aa71dee6ae975 (diff) | |
download | eSim-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.py | 134 |
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 |