NOTICE: All information contained herein is, and remains
the property of TechnoCore Automate.
The script begins by importing several libraries, including those for system functions (os, sys),
handling sleep operations (time), parsing JSON (json), deep copying of objects (copy), YAML parser (yaml),
SQL formatting (sqlparse), and two custom modules (ObjApi, ObjData).
This class extends the ObjApi class found in the ObjApi module. It creates instances of a service,
using certain default attributes like a unique identifier (Guid) and a BaseGuid.
This method accepts a text string and performs various replacements on it, using class attributes starting with "calc" and "Param". The replacements are mainly based on the format "", "&key&", "" and "&_calc_key&".
This method takes a calculation string, performs similar replacements in the text, and then processes the text for output. Replacement values include specific attributes of the object, such as table names, GUIDs, and map names.
This method accepts operations and data input, splits the parameters, and performs SQL operations such as inserting data into the target table, selecting data, and updating entries.
This method manages calculations using a given table, group, and name. It interfaces with an SQL database to perform or retrieve calculations, and caches the results.
CREATE TABLE `def_calculations` (
`Package` char(255) COLLATE latin1_general_ci NOT NULL,
`CalculationName` char(255) COLLATE latin1_general_ci NOT NULL,
`Description` char(255) COLLATE latin1_general_ci NOT NULL,
`Group` char(255) COLLATE latin1_general_ci NOT NULL,
`Rank` int(11) DEFAULT NULL,
`Guid` char(255) COLLATE latin1_general_ci DEFAULT NULL,
`Active` char(1) COLLATE latin1_general_ci DEFAULT 'N',
`Calculation` mediumtext COLLATE latin1_general_ci DEFAULT NULL,
`SetSql` mediumtext COLLATE latin1_general_ci DEFAULT NULL,
`SourceTable` char(255) COLLATE latin1_general_ci DEFAULT NULL,
`TargetTable` char(255) COLLATE latin1_general_ci DEFAULT NULL,
`MapGuid` char(255) COLLATE latin1_general_ci DEFAULT NULL,
`TestGuid` char(255) COLLATE latin1_general_ci DEFAULT NULL,
`MapParam2` char(255) COLLATE latin1_general_ci DEFAULT NULL,
`MapParam3` char(255) COLLATE latin1_general_ci DEFAULT NULL,
`MapParam4` char(255) COLLATE latin1_general_ci DEFAULT NULL,
`MapParam5` char(255) COLLATE latin1_general_ci DEFAULT NULL,
`MapParam6` char(255) COLLATE latin1_general_ci DEFAULT NULL,
`MapParam7` char(255) COLLATE latin1_general_ci DEFAULT NULL,
`MapParam8` char(255) COLLATE latin1_general_ci DEFAULT NULL,
`MapParam9` char(255) COLLATE latin1_general_ci DEFAULT NULL,
`HasResult` char(1) COLLATE latin1_general_ci DEFAULT 'N',
`PreText` char(255) COLLATE latin1_general_ci DEFAULT NULL,
`PostText` char(255) COLLATE latin1_general_ci DEFAULT NULL,
`LastRun` datetime DEFAULT NULL,
`Result` char(255) COLLATE latin1_general_ci DEFAULT NULL,
PRIMARY KEY (`CalculationName`,`Group`,`Package`),
UNIQUE KEY `Guid` (`Guid`),
KEY `Rank` (`Rank`)
) ENGINE=Aria DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci PAGE_CHECKSUM=1 COMMENT='# SERVICE : ObjServiceCalculation\r\n'
cythonize -3 -a -i ObjServiceCalculation.py
Compiling /home/axion/projects/axion/factory.service/package.core/ObjServiceCalculation.py because it changed..[1/1] Cythonizing /home/axion/projects/axion/factory.service/package.core/ObjServiceCalculation.py
Updated : 2025-09-10