The new IntegralPy library can be used to control INTEGRAL from Python-Script: loading grid data, editing grid data, start calculations.
Quick-start Video: (for better quality go to article media “Anhänge” → “Dateien” and download the video)
IMPORTANT NOTE TO VIDEO: in the current INTEGRAL versions the control paramaters for ProtobufGridIO & VisuService are visible by default. There is no need to activate them through macro command which is depicted in the video.
...
For comments, questions and access to IntegralPy Python-library contact eimantas.survila@fgh-ma.de
VisuService Integral Start
Video: (for better quality go to article media “Anhänge” → “Dateien” and download the video)
...
Execute the following script as macro:
function activate_for_integralpy() {
Netz.setze_steuerdatum("/webvisualisierung/zeige_webvis_steuerparameter","1");
}
Activate both “Nutze ProtobufGridIO API lokal” and “Nutze Web-Visualisierung …”.
...
Activate the ProtobufGridIO in INTEGRAL
Execute the following script as macro:
...
Go to control parameters and activate “Nutze ProtobufGridIO API lokal”
...
Importing the library
import integralpy
Methods
integralpy.connect(host)
Returns session object
session.load_grid_file(local_path)
Loads a grid from xml-file and returns a grid object.
session.load_grid_database(dbname, host, user, port, passwordfile_cim(local_paths)
Loads a grid from a list of zip-files and returns a grid object.
local_paths an array of strings with local path information
session.get_current_grid()
Returns the grid object of currently loaded grid
grid.calculate_base_load_flow()
Starts the Grundlastfluss calculation for the currently loaded grid.
grid.get_base_load_flow_results()
Prototype version (up to change in near future): returns a string which entails the result tables as CSV.
grid.import_from_db(db_name, db_server_ip, db_username, db_password, db_server_port)
Imports a grid from database.
db_name - Database name for the grid which should be imported
db_server_ip - The IP address of the database server
db_username - The username of the database
db_password - The password of the database user
db_server_port - The port of the database server (Note: db_server_port must be a string)
grid.export_to_db(db_name, db_server_ip, db_username, db_password, db_server_port)
Exports the current grid to database.
db_name - Database name for the grid which should be imported
db_server_ip - The IP address of the database server
db_username - The username of the database
db_password - The password of the database user
db_server_port - The port of the database server (Note: db_server_port must be a string)
grid.get(type, attr, ids)
type is either list or single type from integralpy.Type
attr is a list of attributes from integralpy.Attribute
ids is either single id or list of ids
returns either a single object or a list of objects
grid.write(objects)
objects is either a single object or list of objects
grid.create(type)
type is a single type
returns a newly created object
grid.remove_attribute(type, attr, ids)
type is either list or single type from integralpy.Type
attr is a list of attributes from integralpy.Attribute
ids is either single id or list of ids
grid.remove(objects)
objects is either a single object or list of objects
...