# ========================================================================= # # FILE: openProject.py # # USAGE: --- # # DESCRIPTION: It is called whenever new project is being called. # # OPTIONS: --- # REQUIREMENTS: --- # BUGS: --- # NOTES: --- # AUTHOR: Fahim Khan, fahim.elex@gmail.com # ORGANIZATION: eSim team at FOSSEE, IIT Bombay. # CREATED: Wednesday 12 February 2015 # REVISION: --- # ========================================================================= from PyQt4 import QtGui from .Validation import Validation from configuration.Appconfig import Appconfig import os import json """ This class is called when User click on Open Project Button """ class OpenProjectInfo(QtGui.QWidget): def __init__(self): super(OpenProjectInfo, self).__init__() self.obj_validation = Validation() """ Open a project directory using Qt GUI and validate if .proj file present in it @params @return :dirs => The directories inside the project folder :filelist => The files inside the project folder """ def body(self): self.obj_Appconfig = Appconfig() self.openDir = self.obj_Appconfig.default_workspace["workspace"] self.projDir = QtGui.QFileDialog.getExistingDirectory( self, "open", self.openDir) if self.obj_validation.validateOpenproj(self.projDir): self.obj_Appconfig.current_project['ProjectName'] = str( self.projDir) if os.path.isdir(self.projDir): print("true") for dirs, subdirs, filelist in os.walk( self.obj_Appconfig.current_project["ProjectName"]): # directory = dirs # files = filelist # above 'directory' and 'files' variable never used pass self.obj_Appconfig.project_explorer[dirs] = filelist json.dump( self.obj_Appconfig.project_explorer, open( self.obj_Appconfig.dictPath, 'w')) self.obj_Appconfig.print_info('Open Project called') self.obj_Appconfig.print_info('Current Project is ' + self.projDir) return dirs, filelist else: self.obj_Appconfig.print_error( "The project doesn't contain .proj file. Please select the" + "proper directory else you won't be able to perform any" + "operation") reply = QtGui.QMessageBox.critical(None, "Error Message", '''Error: The project doesn't contain .proj file.
Please select the proper project directory else you won't be able to perform any operation''', QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel) if reply == QtGui.QMessageBox.Ok: self.body() self.obj_Appconfig.print_info('Open Project called') self.obj_Appconfig.print_info( 'Current Project is ' + self.projDir) elif reply == QtGui.QMessageBox.Cancel: self.obj_Appconfig.print_info('No Project opened') else: pass