def load(self, Path=""): """ Carica la lista degli alias dei comandi da file Ritorna True in caso di successo, false in caso di errore """ # svuoto il dizionario e lo reimposto con i valori di default self.__commandAliases.clear() if Path == "": # Se la path non é indicata uso il file "qad.pgp" in Path = QDir.cleanPath(QgsApplication.qgisSettingsDirPath()) + "python/plugins/qad/" Path = Path + "qad.pgp" if not os.path.exists(Path): return True file = open(Path, "r") # apre il file in lettura for line in file: line = qad_utils.strip(line, [" ", "\t", "\r\n"]) # rimuovo gli spazi e i tab prima e dopo if len(line) == 0: continue # se la riga inizia per ; allora é una riga commentata if line[0] == ";": continue # leggo il nome dell'alias + il nome del comando (es "alias, *comando") sep = line.find(",") if sep <= 0: continue alias = line[0:sep] alias = qad_utils.strip(alias, [" ", "\t", "\r\n"]) # rimuovo gli spazi e i tab prima e dopo if len(alias) == 0: continue command = line[sep+1:] command = qad_utils.strip(command, [" ", "\t", "\r\n"]) # rimuovo gli spazi e i tab prima e dopo if len(command) <= 1: continue # se il comando non inizia per * allora non é un alias if command[0] != "*": continue command = command[1:] # il comando non può contenere spazi sep = command.find(" ") if sep > 0: continue self.__commandAliases[alias.upper()] = command.upper() file.close() return True
def load(self, Path = "", exceptionList = None): """ Carica la lista degli alias dei comandi da file Ritorna True in caso di successo, false in caso di errore """ # svuoto il dizionario e lo reimposto con i valori di default self.__commandAliases.clear() if Path == "": # Se la path non é indicata uso il file "qad.pgp" in lingua locale userLocaleList = QSettings().value("locale/userLocale").split("_") language = userLocaleList[0] region = userLocaleList[1] if len(userLocaleList) > 1 else "" fileName = "qad" + "_" + language + "_" + region + ".pgp "# provo a caricare la lingua e la regione selezionate Path = qad_utils.findFile(fileName) if Path == "": # se file non trovato fileName = "qad" + "_" + language + ".pgp " # provo a caricare la lingua Path = qad_utils.findFile(fileName) if Path == "": # se file non trovato return True else: if not os.path.exists(Path): return True file = codecs.open(unicode(Path), "r", encoding='utf-8') # apre il file in lettura in modalità unicode utf-8 for line in file: line = qad_utils.strip(line, [" ", "\t", "\r\n"]) # rimuovo gli spazi e i tab prima e dopo if len(line) == 0: continue # se la riga inizia per ; allora é una riga commentata if line[0] == ";": continue # leggo il nome dell'alias + il nome del comando (es "alias, *comando") sep = line.find(",") if sep <= 0: continue alias = line[0:sep] alias = qad_utils.strip(alias, [" ", "\t", "\r\n"]) # rimuovo gli spazi e i tab prima e dopo if len(alias) == 0: continue command = line[sep+1:] command = qad_utils.strip(command, [" ", "\t", "\r\n"]) # rimuovo gli spazi e i tab prima e dopo if len(command) <= 1: continue # se il comando non inizia per * allora non é un alias if command[0] != "*": continue command = command[1:] # il comando non può contenere spazi sep = command.find(" ") if sep > 0: continue if exceptionList is None: self.__commandAliases[alias.upper()] = command.upper() else: if alias.upper() not in exceptionList: self.__commandAliases[alias.upper()] = command.upper() file.close() return True