Esempio n. 1
0
   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
Esempio n. 2
0
   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