Ejemplo n.º 1
0
    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()
Ejemplo n.º 2
0
    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()
Ejemplo n.º 3
0
    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()
Ejemplo n.º 4
0
    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()
Ejemplo n.º 5
0
    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()
Ejemplo n.º 6
0
    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()
Ejemplo n.º 7
0
 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()
Ejemplo n.º 9
0
 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
Ejemplo n.º 10
0
    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()
Ejemplo n.º 11
0
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)
Ejemplo n.º 12
0
    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()
Ejemplo n.º 15
0
    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()
Ejemplo n.º 16
0
    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()
Ejemplo n.º 18
0
    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)
Ejemplo n.º 19
0
    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....'