Beispiel #1
0
    def __load_dicts(self):
        """
        DOCUMENT ME!
        """
        # monta o nome da tabela de performances
        ls_path = os.path.join(self.dct_config["dir.tab"], self.dct_config["tab.prf"])

        # carrega a tabela de performance em um dicionário
        self.__dct_prf = prfdata.CPrfData(self, ls_path)
        assert self.__dct_prf is not None

        # monta o nome do arquivo de exercício
        ls_path = os.path.join(self.dct_config["dir.exe"], self.dct_config["glb.exe"])

        # carrega o exercício em um dicionário
        ldct_exe = exedata.CExeData(self, ls_path + ".exe.xml")
        assert ldct_exe is not None

        # obtém o exercício
        self.__exe = ldct_exe[self.dct_config["glb.exe"]]
        assert self.__exe

        # monta o nome do arquivo de tráfegos
        ls_path = os.path.join(self.dct_config["dir.trf"], self.dct_config["glb.exe"])

        # carrega a tabela de tráfegos do exercício
        self.__dct_trf = trfdata.CTrfData(self, ls_path, self.__exe)
        assert self.__dct_trf is not None

        # coloca a tabela de tráfegos no exercício
        self.__exe.dct_exe_trf = self.__dct_trf
Beispiel #2
0
    def __load_tables(self):
        """
        abre/cria as tabelas do sistema

        @return flag e mensagem
        """
        # monta o nome da tabela de performances
        ls_path = os.path.join(self.dct_config["dir.tab"],
                               self.dct_config["tab.prf"])

        # carrega a tabela de performance em um dicionário
        self.__dct_prf = prfdata.CPrfData(self, ls_path)
        assert self.__dct_prf is not None

        # monta o nome do arquivo de exercício
        ls_path = os.path.join(self.dct_config["dir.exe"],
                               self.dct_config["glb.exe"])

        # carrega o exercício em um dicionário
        ldct_exe = exedata.CExeData(self, ls_path + ".exe.xml")
        assert ldct_exe is not None

        # obtém o exercício
        self.__exe = ldct_exe[self.dct_config["glb.exe"]]
        assert self.__exe

        # monta o nome do arquivo de tráfegos
        ls_path = os.path.join(self.dct_config["dir.trf"],
                               self.dct_config["glb.exe"])

        # carrega a tabela de tráfegos do exercício
        self.__dct_trf = trfdata.CTrfData(self, ls_path, self.__exe)
        assert self.__dct_trf is not None

        # coloca a tabela de tráfegos no exercício
        self.__exe.dct_exe_trf = self.__dct_trf
        '''
        # carrega a tabela de aeródromos
        lv_ok = self.load_aers()

        if lv_ok:
            # carrega a tabela de fixos
            lv_ok = self.load_fixs()

            if lv_ok:
                # carrega a tabela de performances
                lv_ok = self.load_prfs()

                if lv_ok:
                    # carrega a tabela de sensores
                    lv_ok = self.load_rads()

                    if lv_ok:
                        # carrega a tabela de exercícios
                        lv_ok = self.load_exes()
        '''
        # retorna
        return True  # lv_ok
Beispiel #3
0
    def load_exes(self):
        """
        faz a carga da tabela de exercícios
        """
        # obtém o diretório padrão de exercícios
        ls_dir = self.dct_config["dir.exe"]

        # nome do diretório vazio ?
        if ls_dir is None:
            # diretório padrão de tabelas
            ls_dir = self.dct_config["dir.exe"] = "exes"

        # diretório não existe ?
        if not os.path.exists(ls_dir):
            # cria o diretório
            os.mkdir(ls_dir)

        # percorre o diretório
        for ls_file in os.listdir(ls_dir):
            # monta o path completo do arquivo de exercício
            ls_path = os.path.join(ls_dir, ls_file)

            # não é um arquivo ?
            if not os.path.isfile(ls_path):
                # passa ao próximo
                continue

            # split name and extension
            _, l_fext = os.path.splitext(ls_file)

            # não é um arquivo XML ?
            if ".xml" != l_fext:
                # passa ao próximo
                continue

            # cria um dicionário de exercícios
            ldct_exe = exedata.CExeData(self, ls_path)

            if ldct_exe is None:
                # logger
                l_log = logging.getLogger("CModelDBEdit::load_exes")
                l_log.setLevel(logging.WARNING)
                l_log.warning(
                    "<E01: tabela de exercícios:[{}] não existe.".format(
                        ls_path))

                # cai fora...
                return False

            # salva no dicionário
            self.__dct_exe.update(ldct_exe)

        # retorna
        return True