Exemple #1
0
def _toUnicodeResourceWalk(args, CurDir_, CurNames_):
    # Отфильтровать только файлы ресурсов
    res_files = [
        x for x in [ic_file.Join(CurDir_, x) for x in CurNames_]
        if ic_file.IsFile(x) and ic_file.SplitExt(x)[1].lower() in RESOURCE_EXT
    ]

    for res_file in res_files:
        try:
            f = open(res_file, 'rb')
            text = f.read()
            f.close()
        except:
            print('ERROR open file', res_file)
            f.close()

        replace_dict_txt = text.strip()
        try:
            replace_dict = eval(replace_dict_txt)
            x_dict = ic_util.icStructStrRecode(replace_dict, 'cp1251',
                                               'UNICODE')
            new_text = str(x_dict)
            print('>>', res_file, ' : ', x_dict)
            try:
                f = open(res_file, 'w')
                f.write(new_text)
                f.close()
            except:
                print('ERROR open file', res_file)
                f.close()
        except:
            print('Error read', res_file, ' : ', replace_dict_txt)
Exemple #2
0
    def Open(self):
        """
        Открыть узел.
        """
        self.makeNodeDir()

        self._StorageDB = {}

        list_dir = ic_file.ListDir(self._NodeDir)
        for name in list_dir:
            # Отфильтровать папки системного назначения
            if name[0] != SYSTEM_DIR_PREFIX:
                full_name = self._NodeDir + '/' + name
                if ic_file.IsDir(full_name):
                    self._StorageDB[name] = icDirStorage()
                    self._StorageDB[name].setParentNode(self, name)
                    self._StorageDB[name].Open()
                elif ic_file.IsFile(full_name):
                    if name != DIR_STORAGE_PROPERTY_FILE_NAME:
                        node_name = ic_file.SplitExt(name)[0]
                        self._StorageDB[node_name] = icFileStorage()
                        self._StorageDB[node_name].setParentNode(
                            self, node_name)
                    else:
                        self.property = icFileStorage()
                        self.property.setParentNode(self,
                                                    DIR_STORAGE_PROPERTY_NAME)

        storage_interface.icElementStorageInterface.Open(self)
Exemple #3
0
 def isXRC(self, sFileName):
     """
     Проверка является ли файл XRC ресурсом форм.
     @param sFileName: Имя файла.
     @return: Возвращает True/False.
     """
     return ic_file.IsFile(sFileName) and \
         (ic_file.SplitExt(sFileName)[1] == '.xrc')
Exemple #4
0
 def isFBP(self, sFileName):
     """ 
     Проверка является ли файл модулм проекта wxformbuilder.
     @param sFileName: Имя файла.
     @return: Возвращает True/False.
     """
     return ic_file.IsFile(sFileName) and \
         (ic_file.SplitExt(sFileName)[1] == '.fbp')
Exemple #5
0
 def isTemplateModule(self, FileName_):
     """
     Проверка является ли файл модулем шаблона проекта.
     @param FileName_: Имя файла.
     @return: Возвращает True/False.
     """
     return ic_file.IsFile(FileName_) and \
         (ic_file.SplitExt(FileName_)[1] == '.py' and \
         ic_file.BaseName(FileName_) != '__init__.py') and \
         self._findModuleSignature(FileName_, TEMPLATE_MODULE_SIGNATURE)
Exemple #6
0
 def isFBModule(self, FileName_):
     """
     Проверка является ли файл модулем форм wxFormBuilder.
     @param FileName_: Имя файла.
     @return: Возвращает True/False.
     """
     return ic_file.IsFile(FileName_) and \
         (ic_file.SplitExt(FileName_)[1] == '.py' and
          ic_file.BaseName(FileName_) != '__init__.py') and \
         self._findModuleSignature(FileName_, WXFB_MODULE_SIGNATURE)
Exemple #7
0
 def isImageModule(self, FileName_):
     """
     Проверка является ли файл модулем библиотеки образов проекта.
     @param FileName_: Имя файла.
     @return: Возвращает True/False.
     """
     return ic_file.IsFile(FileName_) and \
         (ic_file.SplitExt(FileName_)[1] == '.py' and \
         ic_file.BaseName(FileName_) != '__init__.py') and \
         self._findModuleSignature(FileName_, IMAGE_MODULE_SIGNATURE)
Exemple #8
0
 def isResourceModule(self, FileName_):
     """
     Проверка является ли файл ресурсным модулем проекта.
     @param FileName_: Имя файла.
     @return: Возвращает True/False.
     """
     return ic_file.IsFile(FileName_) and \
         (ic_file.SplitExt(FileName_)[1] == '.py' and \
          ic_file.BaseName(FileName_) != '__init__.py') and \
         self._findModuleSignature(FileName_, RESOURCE_MODULE_SIGNATURE)
Exemple #9
0
 def isModule(self, FileName_):
     """
     Проверка является ли файл модулм проекта.
     @param FileName_: Имя файла.
     @return: Возвращает True/False.
     """
     return ic_file.IsFile(FileName_) and \
         (ic_file.SplitExt(FileName_)[1] == '.py' and
          ic_file.BaseName(FileName_) != '__init__.py') and \
         (not self._findModuleSignature(FileName_, INTERFACE_MODULE_SIGNATURE))
Exemple #10
0
 def isXRCModule(self, FileName_):
     """
     Проверка является ли файл модулем форм,
     сгенерированных утилитой pywxrc (из XRC ресурса).
     @param FileName_: Имя файла.
     @return: Возвращает True/False.
     """
     return ic_file.IsFile(FileName_) and \
         (ic_file.SplitExt(FileName_)[1] == '.py' and
          ic_file.BaseName(FileName_) != '__init__.py') and \
         self._findModuleSignature(FileName_, XRC_MODULE_SIGNATURE)
Exemple #11
0
 def openPrj(self, PrjFileName_):
     """
     Открыть файл проекта.
     """
     path, name = os.path.split(PrjFileName_)
     ic.set_ini_file(path)
     self.prj_file_name = PrjFileName_
     if ic_file.IsFile(self.prj_file_name) and \
        ic_file.Exists(self.prj_file_name):
         prj = util.readAndEvalFile(self.prj_file_name, bRefresh=True)
         self._prj = self._prepareDataPrj(prj)
Exemple #12
0
 def _loadResFile(self, ResName_, ResType_):
     """
     Открыть и загрузить файл ресурса.
     @return: Содержимое ресурса или None в случае ошибки.
     """
     res_file_name = os.path.join(self._PrjResDir,
                                  '%s.%s' % (ResName_, ResType_))
     if ic_file.IsFile(res_file_name):
         res_file = util.readAndEvalFile(res_file_name)
         res = res_file[ResName_]
         return copy.deepcopy(res)
     return None
Exemple #13
0
    def delRes(self, ResName_, ResType_):
        """
        Удалить ресурс из проекта.
        @param ResName_: Имя ресурса.
        @param ResType_: Тип ресурса.
        """
        self.makeFolderOther()
        if self._PrjRes:
            self._PrjRes.delRes(ResName_, ResType_)
            self._PrjRes.savePrj()

        res_file_name = self._PrjResDir + '/%s.%s' % (ResName_, ResType_)
        if ic_file.IsFile(res_file_name):
            ic_file.Remove(res_file_name)
            return True
        return False
Exemple #14
0
    def __delitem__(self, key):
        if not self.isOpen():
            self.Open()

        if issubclass(self._StorageDB[str(key)].__class__, icFileStorage):
            # Проверка на удаление файла
            self._StorageDB[str(key)].closeFile()
            file_name = self._StorageDB[str(key)].getFileName()
            if ic_file.Exists(file_name) and ic_file.IsFile(file_name):
                ic_file.Remove(file_name)
        elif issubclass(self._StorageDB[str(key)].__class__, icDirStorage):
            # Проверка на удаление директории
            self._StorageDB[str(key)].closeAllFiles()
            dir_name = self._StorageDB[str(key)].getNodeDir()
            if ic_file.Exists(dir_name) and ic_file.IsDir(dir_name):
                ic_file.RemoveTreeDir(dir_name, 1)
        if str(key) in self._StorageDB:
            del self._StorageDB[str(key)]
Exemple #15
0
def _toUnicodeResourcePyWalk(args, CurDir_, CurNames_):
    # Отфильтровать только файлы py
    py_files = [
        x for x in [ic_file.Join(CurDir_, x) for x in CurNames_]
        if ic_file.IsFile(x) and ic_file.SplitExt(x)[1] == '.py'
    ]

    for py_file in py_files:
        try:
            f = open(py_file, 'rb')
            text = f.read()
            f.close()
        except:
            print('ERROR open file', py_file)
            f.close()
        n1 = text.find('###BEGIN')
        n = text.find('resource=')
        n_x = text.find('resource =')
        n2 = text.find('###END')
        if n1 > 0 and n2 > 0 and n > 0:
            n_ = text[n:].find('\n')
            replace_dict_txt = text[n + len('resource='):n + n_].strip()
            try:
                replace_dict = eval(replace_dict_txt)
                x_dict = ic_util.icStructStrRecode(replace_dict, 'cp1251',
                                                   'UNICODE')
                new_text = text.replace(replace_dict_txt, str(x_dict))
                print('>>', py_file, ' : ', x_dict)
                try:
                    f = open(py_file, 'w')
                    f.write(new_text)
                    f.close()
                except:
                    print('ERROR open file', py_file)
                    f.close()
            except:
                print('Error read', py_file, ' : ', replace_dict_txt)
        elif n1 > 0 and n2 > 0 and n_x > 0:
            print('!>', py_file)