def btn_UploadToOpenAguaOnButtonClick(self, event): # TODO: Implement btn_UploadToOpenAguaOnButtonClick userName = self.m_textCtrl11.Value password = self.m_textCtrl12.Value try: projectName = self.m_textCtrl7.Value if not projectName: if self.m_SelectProject.Value == "": raise Exception("Provide an OpenAgua project name") else: projectName = self.m_SelectProject.Value else: if self.m_SelectProject.Value != "": raise Exception("Select only an OpenAgua project name") selectedResourceTypeAcro = self.m_SelectModel.Value if not selectedResourceTypeAcro: raise Exception("Select a Model") selectedMasterNetworkName = self.m_SelectNetwork.Value if not selectedResourceTypeAcro: raise Exception("Select a Network") if self.SelectScenario.GetSelectedItemCount() < 1: raise Exception("Select a Scenario") index = self.SelectScenario.GetFirstSelected() selectedScenarioNames = [] while index != -1: item = self.SelectScenario.GetItem(itemId=index) selectedScenarioName = item.GetText() # store the many selected scenarios into a dict? then pass them for the for loop selectedScenarioNames.append(selectedScenarioName) # do something with the items index = self.SelectScenario.GetNextSelected(index) # add project here? then just pass its my_new_project.id to the controller UploadToOpenAgua(selectedResourceTypeAcro, selectedMasterNetworkName, selectedScenarioNames, projectName, userName, password) from viewer.Messages_forms.msg_connSQLiteSuccs import msg_connSQLiteSuccs msgdlg = msg_connSQLiteSuccs(self) msgdlg.setMessage( "\n\nSuccessfully, Uploaded the model to OpenAgua file.") msgdlg.ShowModal() self.Destroy() except Exception as e: # pass msg_somethigWrong(self, e.args[0]).ShowModal()
def __init__(self, parent): Publish_Viz.dlg_VisulaizeWaMDaM.__init__(self, parent) if self.checkConnectingToSqlite(): # self.m_textCtrl11.Value = '*****@*****.**' # self.m_textCtrl12.Value = 'OApass1' self.userName = self.m_textCtrl11.Value self.password = self.m_textCtrl12.Value else: msg = "Warning: Please connect to sqlite." msg_somethigWrong(self, msg).ShowModal() self.Destroy()
def btn_serveOnButtonClick(self, event): # TODO: Implement btn_serveOnButtonClick try: msg = '' Model = self.Select_Model.Value if not Model: msg += "Select a wamdam model" WaMDAM_Network = self.SelectWaMDAM_Network.Value if not WaMDAM_Network: msg += "\nSelect a wamdam Network" WaMDaM_Scenrio = self.Seclect_WaMDaM_Scenrio.Value if not WaMDaM_Scenrio: msg += "\nSelect a wamdam scenario" SelectArea = self.comboBox_SelectArea.Value if not SelectArea: msg += "\nSelect a weap area" WEAPScenario = self.combo_selectWEAPScenario.Value if not WEAPScenario: NewWEAPScenario = self.Value_NewWEAPScenario.Value if not NewWEAPScenario: msg += "\nselect an WEAP scenario name or input new scenario" if msg: msg_somethigWrong(None, msg=msg).Show() else: WEAP = win32com.client.Dispatch("WEAP.WEAPApplication") WEAP.ActiveArea = SelectArea WEAP.ActiveScenario = WEAPScenario self.btn_serve1.Enabled = False serveWaMDaM_Data_to_WEAP = ServeWaMDaM_Data_to_WEAP( self.WEAP, Model, WaMDAM_Network, WaMDaM_Scenrio, SelectArea, WEAPScenario) serveWaMDaM_Data_to_WEAP.load_data() self.btn_serve1.Enabled = True from viewer.Messages_forms.msg_connSQLiteSuccs import msg_connSQLiteSuccs msgdlg = msg_connSQLiteSuccs(self) msgdlg.setMessage("\n\nSuccessfully, extracted csv files") msgdlg.ShowModal() self.Destroy() except Exception as e: msg_somethigWrong(self, e.message).ShowModal()
def __init__(self, parent): ExportModels.dlg_ServeToWEAP.__init__(self, parent) try: if not DB_Setup().get_session(): msg = "\n\nWarning: Please connect to sqlite first." raise Exception(msg) ''' init combo model''' self.dataStructure = GetResourceStructure() self.datasets = self.dataStructure.GetResourceType() list_acromy = list() for index, row in self.datasets.iterrows(): list_acromy.append(row[0]) if list_acromy.__len__() > 0: self.Select_Model.SetItems(list_acromy) list_code = [] self.WEAP = win32com.client.Dispatch("WEAP.WEAPApplication") for area in self.WEAP.Areas: list_code.append(area.name) self.comboBox_SelectArea.SetItems(list_code) list_scen = [] for scen in self.WEAP.Scenarios: list_scen.append(scen.name) self.combo_selectWEAPScenario.SetItems(list_scen) except Exception as e: message = msg_somethigWrong(None, msg=e.message) message.Show() self.Destroy()
def btn_ConvertShapefileDataOnButtonClick(self, event): # TODO: Implement btn_ConvertShapefileDataOnButtonClick if self.shape_file: try: # Show a msg to tell the user to wait. from viewer.Messages_forms.generalMsgDlg import messageDlg self.waiting_dlg = messageDlg(None) self.waiting_dlg.btn_OK.Shown = False self.waiting_dlg.Title = "Loading Data..." self.waiting_dlg.setMessage( "Please wait a moment until loading is done.") self.waiting_dlg.Show() #///////////////////////////////////////////////////////////////////////# # Start thread to load data our_thread = threading.Thread(None, self.load_data) our_thread.start() #///////////////////////////////////////////////////////////////////////# # self.Destroy() except Exception as e: message = msg_somethigWrong( None, msg=u'{}, \n\n[*] Could not complete ShapeFile Task'. format(e)) message.Show() else: from viewer.Messages_forms.msg_selectWorkbokFirst import msg_selectWorkbokFirst instance = msg_selectWorkbokFirst(None) result = instance.ShowModal() instance.Destroy()
def btn_extractOnButtonClick(self, event): self.btn_extract.Enabled = False try: textCtrl_AreaNameOnText = self.comboBox_WEAPArea.Value if not textCtrl_AreaNameOnText: raise Exception("Select a WEAP Area to extract") SelectedScenarioName = self.Combo_WEAP_scenario.Value if not SelectedScenarioName: raise Exception("Select a WEAP scenario to extract") fileDir = self.dirPicker_output.Path if not fileDir: raise Exception( "Select a directory to export the resulting Excel workbook into " ) from controller.WEAP.ExtractWEAP_ToWaMDaM.ExtractWeapArea import WEAP_export weap_Export = WEAP_export(textCtrl_AreaNameOnText, SelectedScenarioName, fileDir) WEAP = win32com.client.Dispatch("WEAP.WEAPApplication") WEAP.ActiveArea = textCtrl_AreaNameOnText WEAP.ActiveScenario = SelectedScenarioName result_list, uniqObjectAtt_list = weap_Export.GetWEAPValues() weap_Export.SaveToExcel(result_list, uniqObjectAtt_list, self.Projection_source) from viewer.Messages_forms.msg_connSQLiteSuccs import msg_connSQLiteSuccs msgdlg = msg_connSQLiteSuccs(self) msgdlg.setMessage( "\n\nSuccessfully, extracted the selected WEAP model network and all of its data into a WaMDaM workbook template" ) msgdlg.ShowModal() self.Destroy() except Exception as e: self.btn_extract.Enabled = True msg_somethigWrong(self, e.message).ShowModal()
def FilePicker_ShapefileToWaMDaMOnFileChanged(self, event): # TODO: Implement FilePicker_ShapefileToWaMDaMOnFileChanged self.shape_file = self.FilePicker_ShapefileToWaMDaM.GetPath() valid_extension = ['xlsx', 'xlsm'] if not (self.shape_file.split('.')[-1] in valid_extension): self.Destroy() message = msg_somethigWrong( None, msg="A non excel file was selected, \n\n" " Please select a valid EXCEL File") message.Show()
def FilePicker_RwiseFileOnFileChanged(self, event): # TODO: Implement FilePicker_RwiseFileOnFileChanged self.cross_file = self.FilePicker_CrossTabTimeSeriesToWaMDaM.GetPath() valid_extension = ['xlsx', 'xlsm'] if not (self.cross_file.split('.')[-1] in valid_extension): self.Destroy() message = msg_somethigWrong( None, msg="A non excel file was selected, \n\n" " Please select a valid Excel File") message.Show()
def FilePicker_queryModelOnFileChanged(self, event): # TODO: Implement FilePicker_queryModelOnFileChanged valid_extension = ['xls', 'xlsx'] self.path = self.FilePicker_queryModel.GetPath() if not (self.path.split('.')[-1] in valid_extension): message = msg_somethigWrong(None, msg="Please select a valid Excel File") message.ShowModal() return print 'This is working just fine...' print self.path
def __init__(self, parent): viewer.WaMDaMWizard.dlg_query_metadata.__init__(self, parent) try: if not DB_Setup().get_session(): msg = "\n\nWarning: Please connect to sqlite first." raise Exception(msg) ''' get metadata qurey object''' self.getMetadata = GetMetadataByScenario() except Exception as e: message = msg_somethigWrong(None, msg=e.message) message.ShowModal() self.Destroy()
def SaveExcel(NodesSheetList, LinksSheetList, result_list, UniqObjectAtt_list, WEAP, excel_filename, Projection_source=''): wb = xlsxwriter.Workbook(excel_filename) basic_excel_filename = excel_filename # write_ResourceTypesObjectTypes(BranchesNew_list, wb,WEAP) write_Attributes(UniqObjectAtt_list, wb, WEAP) # write_ScenarioNetwork(NodesSheetList, wb) if Projection_source: SourceSystem = Projection_source try: OutputSystem = 'EPSG:4326' inProj = Proj(init=SourceSystem) outProj = Proj(init=OutputSystem) for node in range(len(NodesSheetList)): x1, y1 = NodesSheetList[node]['Longitude_x'], NodesSheetList[ node]['Latitude_y'] NodesSheetList[node]['Longitude_x'], NodesSheetList[node][ 'Latitude_y'] = transform(inProj, outProj, x1, y1) except: from viewer.Messages_forms.msg_somethigWrong import msg_somethigWrong message = msg_somethigWrong( None, msg= 'The projection code you entered is not correct. Make sure its a valid one' ) message.ShowModal() return # create xlsx file with "full_path". # workbook1 = xlsxwriter.Workbook(full_path) # workbook1.add_worksheet('1.1_Organiz&People') # workbook1.add_worksheet('1.2_Sources&Methods') # workbook1.add_worksheet('2.1_ResourceTypes&ObjectTypes') # workbook1.add_worksheet('2.2_Attributes') # workbook1.add_worksheet('3.1_Networks&Scenarios') try: write_MasterNetwork([], wb) except Exception, e: raise "write_MasterNetworkAndScenario error : " + str(e)
def __init__(self, parent): viewer.WaMDaMWizard.dlg_query_model.__init__(self, parent) self.path = '' try: if not DB_Setup().get_session(): msg = "\n\nWarning: Please connect to sqlite first." raise Exception(msg) self.dataStructure = GetResourceStructure() self.datasets = self.dataStructure.GetResourceType() list_acromy = list() for row in self.datasets.values: list_acromy.append(row[0]) if list_acromy.__len__() > 0: self.comboBox_selectModel.SetItems(list_acromy) except Exception as e: message = msg_somethigWrong(None, msg=e.message) message.ShowModal() self.Destroy()
def __init__(self, parent): viewer.WaMDaMWizard.dlg_SearchNodesLinks.__init__(self, parent) self.path = '' # self.textCtrl_X_min.Value = u'-112.4424' # self.textCtrl_X_Max.Value = u'-110.65833' # self.textCtrl_y_min.Value = u'41.00' # self.textCtrl_y_max.Value = u'42.700' try: if not DB_Setup().get_session(): msg = "\n\nWarning: Please connect to sqlite first." raise Exception(msg) ''' Get Controlled object type''' self.getNodeLinks = GetNodeLinks() list_acromy = self.getNodeLinks.GetCV_ObjectType() if list_acromy.__len__() > 0: self.comboBox_selectObjectType.SetItems(list_acromy) except Exception as e: message = msg_somethigWrong(None, msg=e.message) message.ShowModal() self.Destroy()
def btn_convertCrossTabulatedSeasonalOnButtonClick(self, event): # TODO: Implement btn_convertCrossTabulatedSeasonalOnButtonClick if self.cross_file: try: seasonalData_shaper.SeasonalDataShaperFunc( workbook=self.cross_file) self.allDone() # self.Destroy() except Exception as e: message = msg_somethigWrong( None, msg=u'{}, \n\n[*] Could not complete CrossTabulated Task'. format(e)) message.Show() else: from viewer.Messages_forms.msg_selectWorkbokFirst import msg_selectWorkbokFirst instance = msg_selectWorkbokFirst(None) result = instance.ShowModal() instance.Destroy()
def m_connectOnButtonClick(self, event): # TODO: Implement m_connectOnButtonClick try: if not self.m_textCtr_username.Value or not self.m_textCtrl_pass.Value: raise Exception("Provide a username and password") self.usern = self.m_textCtr_username.Value self.passw = self.m_textCtrl_pass.Value projects = self.hydra()._call('get_projects') project_names = [] self.project_ids = {} for p in projects: project_names.append(str(p['name'])) self.project_ids[str(p['name'])] = p['id'] self.m_SelectProject.SetItems(project_names) except Exception as e: messageDlg = msg_somethigWrong(None, msg=e.args[0]) messageDlg.Show()
def Btn_LoginOnButtonClick(self, event): # TODO: Implement Btn_LoginOnButtonClick try: self.userName = self.m_textCtrl11.Value self.password = self.m_textCtrl12.Value if not self.m_textCtrl11.Value or not self.m_textCtrl12.Value: raise Exception("Provide a username and password") self.usern = self.m_textCtrl11.Value self.passw = self.m_textCtrl12.Value projects = self.hydra()._call('get_projects') project_names = [] for p in projects: project_names.append(str(p['name'])) self.m_SelectProject.SetItems(project_names) self.dataStructure = GetResourceStructure() self.datasets = self.dataStructure.GetResourceType() list_acromy = list() for index, row in self.datasets.iterrows(): list_acromy.append(row[0]) if list_acromy.__len__() > 0: self.m_SelectModel.SetItems(list_acromy) except Exception as e: messageDlg = msg_somethigWrong(None, msg=e.args[0]) messageDlg.Show()
def __init__(self, parent): viewer.WaMDaMWizard.dlg_SearchDataValues.__init__(self, parent) try: if not DB_Setup().get_session(): msg = "\n\nWarning: Please connect to sqlite first." raise Exception(msg) ''' Get Controlled object type''' self.getDataValues = GetDataValues() '''Get C_VObjectType''' list_types = self.getDataValues.GetCV_ObjectType() if list_types.__len__() > 0: self.comboBox_ctrObjectType.SetItems(list_types) '''Get Attribute names''' list_attributes = self.getDataValues.getAttribute() if list_attributes.__len__() > 0: self.comboBox_ctrAttribute.SetItems(list_attributes) '''Get CV_Instance names''' list_InstanceNames = self.getDataValues.getCVinstanceName() if list_InstanceNames.__len__() > 0: self.comboBox_ctrlInstance.SetItems(list_InstanceNames) ''' check bok flag array''' self.typeCheck_list = { 'DualValues': False, 'DescriptorValues': False, 'NumericValues': False, 'ElectronicFiles': False, 'SeaonalNumericValues': False, 'TimeSeries': False, 'All': False, 'MultiVariableSeries': False } self.path = "" except Exception as e: message = msg_somethigWrong(None, msg=e.message) message.ShowModal() self.Destroy()
def write2excel(self, resutl_list, startRow, sheetNumber): try: if self.path.split('.')[-1] == 'xls': wb = open_workbook(self.path) # workbook = copy(wb) workbook = wb ''' Validate sheet in excel''' try: org_peopleSheet = workbook.get_sheet(2) sour_methodSheet = workbook.get_sheet(3) except: message = msg_somethigWrong( None, msg="Please select a valid Excel File") message.ShowModal() return if (sheetNumber == 1): for row_id, row in enumerate(resutl_list): for col_id, cell in enumerate(row): org_peopleSheet.write(row_id + startRow - 1, col_id + 0, cell) else: for row_id, row in enumerate(resutl_list): for col_id, cell in enumerate(row): sour_methodSheet.write(row_id + startRow - 1, col_id + 0, cell) workbook.save(self.path) else: book2 = load_workbook(self.path) ''' Validate sheet in excel''' try: org_peopleSheet = book2.get_sheet_by_name( "1.1_Organiz&People") sour_methodSheet = book2.get_sheet_by_name( "1.2_Sources&Methods") except: message = msg_somethigWrong( None, msg="Please select a valid Excel File") message.ShowModal() return if (sheetNumber == 1): for row_id, row in enumerate(resutl_list): for col_id, cell in enumerate(row): org_peopleSheet.cell(row=row_id + startRow, column=col_id + 1, value=cell) else: for row_id, row in enumerate(resutl_list): for col_id, cell in enumerate(row): sour_methodSheet.cell(row=row_id + startRow, column=col_id + 1, value=cell) book2.save(self.path) except Exception as e: print e messageDlg = msg_somethigWrong(None, msg=e.message) messageDlg.Show() raise Exception(e.message)
def btn_find_model_reqsOnButtonClick(self, event): # TODO: Implement btn_find_model_reqsOnButtonClick print 'this is starting' selectedDataset = self.comboBox_selectModel.Value message = '' if (selectedDataset == None or selectedDataset == '') and not ['xlsx', 'xlsm', 'xls'].__contains__( self.path.split('.')[-1]): message = 'Select the model name in WamDam.\nAnd please select a valid excel file.' elif selectedDataset == None or selectedDataset == '': message = 'Select the model name in WamDam!!!' elif not ['xlsx', 'xlsm', 'xls'].__contains__( self.path.split('.')[-1]): message = 'And please select a valid excel file.' if message != '': messageDlg = msg_somethigWrong(None, msg=message) messageDlg.Show() return # raise Exception(message) ''' get objecttypes, attibutes, datasetType''' result = GetResourceStructure() data_result = result.GetObjectTypesByResource(selectedDataset) attributes_result = result.GetAttributesByResource(selectedDataset) dataset_result = result.GetResourceType(selectedDataset) print '************8**' try: if self.path.split('.')[-1] == 'xls': wb = open_workbook(self.path) # workbook = copy(wb) workbook = wb sheet = workbook.get_sheet(4) attribute_sheet = workbook.get_sheet(5) for row_id, row in enumerate(dataset_result): for col_id, cell in enumerate(row): sheet.write(row_id + 9, col_id + 0, cell) for row_id, row in enumerate(data_result): for col_id, cell in enumerate(row): sheet.write(row_id + 17, col_id + 0, cell) for row_id, row in enumerate(attributes_result): for col_id, cell in enumerate(row): attribute_sheet.write(row_id + 10, col_id + 0, cell) workbook.save(self.path) else: book2 = load_workbook(self.path) try: sheet = book2.get_sheet_by_name("2.1_Datasets&ObjectTypes") attribute_sheet = book2.get_sheet_by_name("2.2_Attributes") except: raise Exception( 'Output Sheet {} not found in Excel File \n\n Please select valid Excel File' .format("2.1_Datasets&ObjectTypes")) for row_id, row in enumerate(dataset_result): for col_id, cell in enumerate(row): sheet.cell(row=row_id + 10, column=col_id + 1, value=cell) for row_id, row in enumerate(data_result): for col_id, cell in enumerate(row): sheet.cell(row=row_id + 18, column=col_id + 1, value=cell) for row_id, row in enumerate(attributes_result): for col_id, cell in enumerate(row): attribute_sheet.cell(row=row_id + 11, column=col_id + 1, value=cell) book2.save(self.path) from viewer.Messages_forms.msg_successLoadDatabase import msg_successLoadDatabase instance = msg_successLoadDatabase(None) instance.m_staticText1.SetLabel("Success export excel file") instance.Show() self.Destroy() except Exception as e: print e messageDlg = msg_somethigWrong(None, msg=e.message) messageDlg.Show() raise Exception(e.message) print 'Great so far....'
def btn_Search_nodesLinksOnButtonClick(self, event): # TODO: Implement btn_Search_nodesLinksOnButtonClick message = '' if self.comboBox_ctrObjectType.Value == None or self.comboBox_ctrObjectType.Value == '': message = 'Please select Controlled Object Type!!!' if self.comboBox_ctrAttribute.Value == None or self.comboBox_ctrAttribute.Value == '': message = 'Please select Controlled Attribute!!!' if self.comboBox_ctrlInstance.Value == None or self.comboBox_ctrlInstance.Value == '': message = 'Please select Controlled Instance Name!!!' try: if not ['xlsx', 'xlsm', 'xls'].__contains__( self.path.split('.')[-1]): message = 'Please select a valid excel file.' except: message = 'Please select a valid excel file.' if self.count_of_selected_checkbox() == 0: message = 'Please select one at least check on box.' if message != '': messageDlg = msg_somethigWrong(None, msg=message) messageDlg.Show() return try: selectedType = self.comboBox_ctrObjectType.Value selectedAttribute = self.comboBox_ctrAttribute.Value selectedInstance = self.comboBox_ctrlInstance.Value checkFlag = False if self.typeCheck_list['All']: checkFlag = True self.getDataValues.exportDualValuesSheet( selectedType, selectedAttribute, selectedInstance, self.path) self.getDataValues.exportTextConrolledSheet( selectedType, selectedAttribute, selectedInstance, self.path) self.getDataValues.exportNumericValuesheet( selectedType, selectedAttribute, selectedInstance, self.path) self.getDataValues.exportElectronicElectronicFilesSheet( selectedType, selectedAttribute, selectedInstance, self.path) self.getDataValues.exportSeasonalSheet(selectedType, selectedAttribute, selectedInstance, self.path) self.getDataValues.exportTimeSeriesSheet( selectedType, selectedAttribute, selectedInstance, self.path) self.getDataValues.exportMultiSheet(selectedType, selectedAttribute, selectedInstance, self.path) else: if self.typeCheck_list['DualValues']: checkFlag = True self.getDataValues.exportDualValuesSheet( selectedType, selectedAttribute, selectedInstance, self.path) if self.typeCheck_list['DescriptorValues']: checkFlag = True self.getDataValues.exportTextConrolledSheet( selectedType, selectedAttribute, selectedInstance, self.path) if self.typeCheck_list['NumericValues']: checkFlag = True self.getDataValues.exportNumericValuesheet( selectedType, selectedAttribute, selectedInstance, self.path) if self.typeCheck_list['ElectronicFiles']: checkFlag = True self.getDataValues.exportElectronicElectronicFilesSheet( selectedType, selectedAttribute, selectedInstance, self.path) if self.typeCheck_list['SeaonalNumericValues']: checkFlag = True self.getDataValues.exportSeasonalSheet( selectedType, selectedAttribute, selectedInstance, self.path) if self.typeCheck_list['TimeSeries']: checkFlag = True self.getDataValues.exportTimeSeriesSheet( selectedType, selectedAttribute, selectedInstance, self.path) # if self.typeCheck_list['TextFree']: # checkFlag = True # self.getDataValues.exportTextFreeSheet(selectedType, selectedAttribute, selectedInstance, self.path) if self.typeCheck_list['MultiVariableSeries']: checkFlag = True self.getDataValues.exportMultiSheet( selectedType, selectedAttribute, selectedInstance, self.path) if not checkFlag: messageDlg = msg_somethigWrong( None, msg="At least select one Controlled Attribute Data Type!!!" ) messageDlg.Show() return from Messages_forms.msg_successLoadDatabase import msg_successLoadDatabase instance = msg_successLoadDatabase(None) instance.m_staticText1.SetLabel("Success export excel file") instance.ShowModal() except Exception as e: print e messageDlg = msg_somethigWrong(None, msg=e.message) messageDlg.Show()
def btn_Search_nodesLinksOnButtonClick(self, event): # TODO: Implement btn_Search_nodesLinksOnButtonClick '''Check whether longitude is between -180 ~ 180.''' try: if (float(self.textCtrl_X_min.Value) < -180 or float(self.textCtrl_X_Max.Value) > 180): message = msg_somethigWrong( None, msg="Please input longitude between -180 ~ 180") message.ShowModal() return except: message = msg_somethigWrong( None, msg= "Please input float type in Minimum (East) or Maximum (West).") message.ShowModal() return '''Check whether latitude is between -180 ~ 180.''' try: if (float(self.textCtrl_y_min.Value) < -90 or float(self.textCtrl_y_max.Value) > 90): message = msg_somethigWrong( None, msg="Please input latitude between -90 ~ 90") message.ShowModal() return except: message = msg_somethigWrong( None, msg= "Please input float type in Minimum (South) or Maximum (North)." ) message.ShowModal() return '''Check whether Controlled Object Type is selected and selected excel file is valid.''' message = '' if self.comboBox_selectObjectType.Value == None or self.comboBox_selectObjectType.Value == '': message = 'Please select Controlled Object Type!!!' elif not ['xlsx', 'xlsm', 'xls'].__contains__( self.path.split('.')[-1]): message = 'please select a valid excel file.' if message != '': messageDlg = msg_somethigWrong(None, msg=message) messageDlg.Show() return print '************8**' try: xmin = float(self.textCtrl_X_min.Value) ymin = float(self.textCtrl_y_min.Value) xmax = float(self.textCtrl_X_Max.Value) ymax = float(self.textCtrl_y_max.Value) ''' Get MasterNetwork, Scenarios, Nodes, Links''' networks = self.getNodeLinks.getMasterNetwork( self.comboBox_selectObjectType.Value, xmin, ymin, xmax, ymax) if len(networks) < 1: messageDlg = msg_somethigWrong( None, msg="Nothing found that meets this query result") messageDlg.Show() return scenarios = self.getNodeLinks.GetScenaroisResult( self.comboBox_selectObjectType.Value, xmin, ymin, xmax, ymax) nodes = self.getNodeLinks.GetNodesResult( self.comboBox_selectObjectType.Value, xmin, ymin, xmax, ymax) links = self.getNodeLinks.GetLinksResult( self.comboBox_selectObjectType.Value, xmin, ymin, xmax, ymax) if self.path.split('.')[-1] == 'xls': wb = open_workbook(self.path) # workbook = copy(wb) workbook = wb try: sheet = workbook.get_sheet(6) sheetnodes = workbook.get_sheet(7) sheetlinks = workbook.get_sheet(8) except: message = msg_somethigWrong( None, msg="Please select a valid Excel File") message.Show() return for row_id, row in enumerate(networks): for col_id, cell in enumerate(row): sheet.write(row_id + 9, col_id + 0, cell) for row_id, row in enumerate(scenarios): for col_id, cell in enumerate(row): sheet.write(row_id + 17, col_id + 0, cell) for row_id, row in enumerate(nodes): for col_id, cell in enumerate(row): sheetnodes.write(row_id + 10, col_id + 0, cell) for row_id, row in enumerate(links): for col_id, cell in enumerate(row): sheetlinks.write(row_id + 10, col_id + 0, cell) workbook.save(self.path) else: book2 = load_workbook(self.path) try: sheet = book2.get_sheet_by_name("3.1_Networks&Scenarios") nodes_sheet = book2.get_sheet_by_name("3.2_Nodes") links_sheet = book2.get_sheet_by_name("3.3_Links") except: message = msg_somethigWrong( None, msg="Please select a valid Excel File") message.Show() return # raise Exception('Output Sheet {} not found in Excel File \n\n Please select valid Excel File'.format("3.1_Networks&Scenarios")) for row_id, row in enumerate(networks): for col_id, cell in enumerate(row): sheet.cell(row=row_id + 10, column=col_id + 1, value=cell) for row_id, row in enumerate(scenarios): for col_id, cell in enumerate(row): sheet.cell(row=row_id + 20, column=col_id + 1, value=cell) for row_id, row in enumerate(nodes): for col_id, cell in enumerate(row): nodes_sheet.cell(row=row_id + 11, column=col_id + 1, value=cell) for row_id, row in enumerate(links): for col_id, cell in enumerate(row): links_sheet.cell(row=row_id + 11, column=col_id + 1, value=cell) book2.save(self.path) from Messages_forms.msg_successLoadDatabase import msg_successLoadDatabase instance = msg_successLoadDatabase(None) instance.m_staticText1.SetLabel("Success export excel file") instance.ShowModal() except Exception as e: print e messageDlg = msg_somethigWrong(None, msg=e.message) messageDlg.Show() raise Exception(e.message) print 'Great so far....'
def btn_find_network_nodesLinksOnButtonClick(self, event): # TODO: Implement btn_find_network_nodesLinksOnButtonClick print 'this is starting' selectedDataset = self.comboBox_selectModel.Value selectedMasterNetworkName = self.comboBox_selectNetwork.Value selectedScenarioName = self.comboBox_selectScenario.Value message = '' if (selectedDataset == None or selectedDataset == ''): message = 'Select the model name in WamDam.' elif selectedMasterNetworkName == None or selectedMasterNetworkName == '': message = 'Select the MasterNetworkName.' elif selectedScenarioName == None or selectedScenarioName == '': message = 'Select the ScenarioName.' elif not ['xls', 'xlsx', 'xlsm', 'xls'].__contains__( self.path.split('.')[-1]): message = 'And please select a valid excel file.' if message != '': messageDlg = msg_somethigWrong(None, msg=message) messageDlg.Show() raise Exception(message) ''' get nework, scenario, nodes, links''' result = GetResourceStructure() names, network_data_result = result.GetMasterNetworks(selectedDataset) names, scenarios_data_result = result.GotScenario( selectedDataset, selectedMasterNetworkName) names, nodes_data_result = result.GotNodes(selectedDataset, selectedMasterNetworkName, selectedScenarioName) links_data_result = result.GotLinks(selectedDataset, selectedMasterNetworkName, selectedScenarioName) print '************8**' try: if self.path.split('.')[-1] == 'xls': wb = open_workbook(self.path) # workbook = copy(wb) workbook = wb try: sheet = workbook.get_sheet(6) sheetnodes = workbook.get_sheet(7) sheetlinks = workbook.get_sheet(8) except: message = msg_somethigWrong( None, msg="Please select a valid Excel File") message.Show() return for row_id, row in enumerate(network_data_result): for col_id, cell in enumerate(row): sheet.write(row_id + 9, col_id + 0, cell) for row_id, row in enumerate(scenarios_data_result): for col_id, cell in enumerate(row): sheet.write(row_id + 17, col_id + 0, cell) for row_id, row in enumerate(nodes_data_result): for col_id, cell in enumerate(row): sheetnodes.write(row_id + 10, col_id + 0, cell) for row_id, row in enumerate(links_data_result): for col_id, cell in enumerate(row): sheetlinks.write(row_id + 10, col_id + 0, cell) workbook.save(self.path) else: book2 = load_workbook(self.path) try: sheet = book2.get_sheet_by_name("3.1_Networks&Scenarios") nodes_sheet = book2.get_sheet_by_name("3.2_Nodes") links_sheet = book2.get_sheet_by_name("3.3_Links") except: message = msg_somethigWrong( None, msg="Please select a valid Excel File") message.Show() return # raise Exception('Output Sheet {} not found in Excel File \n\n Please select valid Excel File'.format("3.1_Networks&Scenarios")) for row_id, row in enumerate(network_data_result): for col_id, cell in enumerate(row): sheet.cell(row=row_id + 10, column=col_id + 1, value=cell) for row_id, row in enumerate(scenarios_data_result): for col_id, cell in enumerate(row): sheet.cell(row=row_id + 20, column=col_id + 1, value=cell) for row_id, row in enumerate(nodes_data_result): for col_id, cell in enumerate(row): nodes_sheet.cell(row=row_id + 11, column=col_id + 1, value=cell) for row_id, row in enumerate(links_data_result): for col_id, cell in enumerate(row): links_sheet.cell(row=row_id + 11, column=col_id + 1, value=cell) book2.save(self.path) from viewer.Messages_forms.msg_successLoadDatabase import msg_successLoadDatabase instance = msg_successLoadDatabase(None) instance.m_staticText1.SetLabel("Success: exported excel file") instance.ShowModal() except Exception as e: print e messageDlg = msg_somethigWrong(None, msg=e.message) messageDlg.Show() raise Exception(e.message) print 'Great so far....'