예제 #1
0
    def loadCountryPorts(self):
        self.country_ports = Utils.getCountryPortsMapper()
        if self.country_ports is not None and len(self.country_ports) !=0:
            keys = self.country_ports.keys()
            keys.sort()
            self.ui.departure_country_combo.addItems(keys)
            self.ui.arrival_country_combo.addItems(keys)
            self.ui.departure_country_combo.activated.connect(self.activateDeparturePorts)
            self.ui.arrival_country_combo.activated.connect(self.activateArrvialPorts)
            self.ui.departure_port_combo.activated.connect(self.updateDeparturePorts)
            self.ui.arrival_port_combo.activated.connect(self.updateArrivalPorts)

            departure_calendar = self.ui.depart_date_edit.calendarWidget()
            arrival_calendar = self.ui.arrival_date_edit.calendarWidget()
            departure_calendar.setLocale(QLocale(QLocale.English, QLocale.UnitedStates))
            arrival_calendar.setLocale(QLocale(QLocale.English, QLocale.UnitedStates))
        else:
            msg_box = QMessageBox(QMessageBox.Critical, "Error", "Load Country/Ports from config file failed when start Share Route Dialog")
            msg_box.exec_()
예제 #2
0
    def updateCountryPortsConfig(self):
        #get origin config
        update_dict = {}
        origin_config = Utils.getCountryPortsMapper()
        for k,v in self.country_ports.iteritems():
            if k not in origin_config.keys():
                update_dict[k]= v
            else:
                temp=[]
                for port in v:
                    if port not in origin_config[k]:
                        temp.append(port)
                if len(temp) !=0:
                    cp = copy.copy(temp)
                    update_dict[k]= cp

        #append the updated country port in the config file
        try:
            file_path = os.path.join(CONF_PATH, 'country_port.csv')
            fp = open(file_path, 'a+')
        except IOError, ex:
            #TODO open error prompt dialog
            return None