Fix textprocessor testing and bump version
This commit is contained in:
parent
a210de14ff
commit
6ddd6389bd
|
@ -1,3 +1,7 @@
|
|||
14.06.2024 Экстеор 4.9.3
|
||||
• Грамматика: разрешено использование одного аргумента для мультифильтра - Fi1,2[X1*X1](S1)
|
||||
• исправлена ошибка, приводившая к некорректному вычислению типизаций рекурсии с пустым множеством
|
||||
• использование cctext без встраивания кода (через pip)
|
||||
13.05.2024 Экстеор 4.9.2
|
||||
• Грамматика: разрешено использование пустого множества как литерала с типизацией B(R0)
|
||||
• Грамматика: разрешено объявление кортежем в императивных блоках
|
||||
|
|
|
@ -1182,8 +1182,8 @@ END
|
|||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 4,9,2,1000
|
||||
PRODUCTVERSION 4,9,2,1000
|
||||
FILEVERSION 4,9,3,1000
|
||||
PRODUCTVERSION 4,9,3,1000
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
|
@ -1201,13 +1201,13 @@ BEGIN
|
|||
VALUE "Comments", "Ýêñïëèêàòîð òåîðèé "
|
||||
VALUE "CompanyName", "ÍÏ ÖÈÂÒ ÊÎÍÖÅÏÒ"
|
||||
VALUE "FileDescription", "Ýêñòåîð 4.9"
|
||||
VALUE "FileVersion", "4.9.2.1000"
|
||||
VALUE "FileVersion", "4.9.3.1000"
|
||||
VALUE "InternalName", "Ýêñòåîð 4.9"
|
||||
VALUE "LegalCopyright", "Copyright © NPMP CIHT CONCEPT 1994-2024"
|
||||
VALUE "LegalTrademarks", "Ýêñòåîð™"
|
||||
VALUE "OriginalFilename", "Exteor.exe"
|
||||
VALUE "ProductName", "Ýêñòåîð 4.9"
|
||||
VALUE "ProductVersion", "4.9.2.1000"
|
||||
VALUE "ProductVersion", "4.9.3.1000"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
|
|
@ -14,8 +14,10 @@ public:
|
|||
|
||||
[[nodiscard]] std::string Inflect(const std::string& target, const ccl::lang::Morphology& form) const override;
|
||||
[[nodiscard]] std::string InflectDependant(const std::string& dependant, const std::string& main) const override;
|
||||
[[nodiscard]] bool IsSubstr(const std::string& needle,
|
||||
const std::string& haystack) const override;
|
||||
[[nodiscard]] bool IsSubstr(
|
||||
const std::string& needle,
|
||||
const std::string& haystack
|
||||
) const override;
|
||||
};
|
||||
|
||||
} // namespace xtr::core
|
|
@ -151,26 +151,35 @@ void PyCore::Stop() noexcept {
|
|||
}
|
||||
}
|
||||
|
||||
bool PyCore::LoadModule(const std::string& moduleName, const std::string& pyFileName) {
|
||||
bool PyCore::LoadModule(const std::string& moduleName, const std::string& pyImport) {
|
||||
if (!IsRunning()) {
|
||||
return false;
|
||||
} else if (moduleName.empty()) {
|
||||
return false;
|
||||
} else if (modules.contains(moduleName)) {
|
||||
return true;
|
||||
} else if (auto nameObj = Object::FromNew(PyUnicode_FromString(pyFileName.c_str()));
|
||||
nameObj == nullptr) {
|
||||
return false;
|
||||
} else if (auto moduleObj = Object::FromNew(PyImport_Import(nameObj.get()));
|
||||
moduleObj == nullptr) {
|
||||
return false;
|
||||
} else if (auto dictionaryObj = Object::FromBorrowed(PyModule_GetDict(moduleObj.get()));
|
||||
dictionaryObj == nullptr) {
|
||||
return false;
|
||||
} else {
|
||||
modules.insert(std::pair(moduleName, Module{ .pyModule = moduleObj, .pyDictionary = std::move(dictionaryObj) }));
|
||||
return true;
|
||||
}
|
||||
|
||||
auto nameObj = Object::FromNew(PyUnicode_FromString(pyImport.c_str()));
|
||||
if (nameObj == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
auto moduleObj = Object::FromNew(PyImport_Import(nameObj.get()));
|
||||
if (moduleObj == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
auto dictionaryObj = Object::FromBorrowed(PyModule_GetDict(moduleObj.get()));
|
||||
if (dictionaryObj == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
modules.insert(std::pair(
|
||||
moduleName,
|
||||
Module{ .pyModule = moduleObj, .pyDictionary = std::move(dictionaryObj) }
|
||||
));
|
||||
return true;
|
||||
}
|
||||
|
||||
Callable PyCore::PyFunction(const std::string& moduleName, const std::string& funcName) const {
|
||||
|
|
|
@ -20,8 +20,9 @@ protected:
|
|||
std::unique_ptr<PyTextProcessor> processor{ nullptr };
|
||||
|
||||
void SetUp() override {
|
||||
ASSERT_TRUE(python.Start());
|
||||
python.LoadModule("cctext", "cctext");
|
||||
static CString path{ "C:\\Program Files\\Python312\\" };
|
||||
ASSERT_TRUE(python.Start(path));
|
||||
ASSERT_TRUE(python.LoadModule("cctext", "cctext"));
|
||||
processor = std::make_unique<PyTextProcessor>();
|
||||
processor->InitModule("cctext");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user