Python Module

From Lianjapedia
Jump to: navigation, search

Python is now the most popular programming language in the world.

Lianja Cloud Server provides a powerful data integration solution with connectors for Python, Node.js and .NET.

Using these connectors you can connect to local and/or remote Lianja Cloud Servers and perform CRUD operations on data.

Lianja Cloud Data Services Python module

Lianja Cloud Server includes a Python module lianjaclouddataservices enabling Python applications to connect to a local or remote Lianja Cloud Server and perform a variety of operations.

Installing the Lianja Cloud Data Services Python module

On Windows:

cd C:\lianja\cloudserver\tenants\public\wwwroot\library\LianjaWebFramework\LianjaCloudDataServices\python\
pip install -r requirements.txt

On Linux:

cd /opt/lianja/cloudserver/tenants/public/wwwroot/library/LianjaWebFramework/LianjaCloudDataServices/python/
pip install -r requirements.txt

On MacOS:

cd /Users/shared/Lianja/cloudserver/tenants/public/wwwroot/library/LianjaWebFramework/LianjaCloudDataServices/python/
python3 pip install -r requirements.txt --user

Testing the installation:

On Windows:

cd C:\lianja\cloudserver\tenants\public\wwwroot\library\LianjaWebFramework\LianjaCloudDataServices\python\lianjaclouddataservices\

On Linux:

cd /opt/lianja/cloudserver/tenants/public/wwwroot/library/LianjaWebFramework/LianjaCloudDataServices/python/lianjaclouddataservices/

On MacOS:

cd /Users/shared/Lianja/cloudserver/tenants/public/wwwroot/library/LianjaWebFramework/LianjaCloudDataServices/python/lianjaclouddataservices/

Using the Lianja Cloud Data Services module in Python Applications

Load the module into your Python application

import lianjaclouddataservices as Lianja

Exported functions. All Python methods are synchronous (see example usage below).

See OData URIs for details of OData URIs and OData Operators for all the OData operators.

You can use also use the Lianja Key-Value Store (Lianja/KVS) with Python. See Lianja/KVS for details.

Module Methods

Function Description
Lianja.login(host, user, password) Login and connect to to a local or remote Cloud Server. To connect locally specify the host as http: //localhost:8001
Lianja.logout() Logout from the local or remote Cloud Server.
Lianja.evaluate(expr) Evaluates LianjaScript expression and returns the result asynchronously.
Lianja.evaluatePython(expr) Evaluates Python expression and returns the result asynchronously.
Lianja.evaluateJavaScript(expr) Evaluates JavaScript expression and returns the result asynchronously.
Lianja.fetch(url) Fetches data from the server using an .rsp, .pysp or .jssp server side page. Use fetch() to retrieve custom data from the server.
Lianja.OData_Create(url, data) See ODATA_CREATE()
Lianja.OData_Read(url) See ODATA_READ()
Lianja.OData_ReadHTML(url) See See ODATA_READ()
Lianja.OData_ReadJSON(url) See See ODATA_READ()
Lianja.OData_ReadImage(url) See See ODATA_READ()
Lianja.OData_Update(url, data) See ODATA_UPDATE()
Lianja.OData_UpdateHTML(url, text) See ODATA_UPDATE()
Lianja.OData_UpdateJSON(url, jsontext) See ODATA_UPDATE()
Lianja.OData_Delete(url, data) See ODATA_DELETE()

Example usage:

# Lianja Python module test
# On windows:
# cd C:\lianja\cloudserver\tenants\public\wwwroot\library\LianjaWebFramework\LianjaCloudDataServices\node\lianjaclouddataservices\
# python
# On Linux:
# cd /opt/lianja/cloudserver/tenants/public/wwwroot/library/LianjaWebFramework/LianjaCloudDataServices/python/lianjaclouddataservices/
# python
# On MacOS:
# cd /Users/shared/Lianja/cloudserver/tenants/public/wwwroot/library/LianjaWebFramework/LianjaCloudDataServices/python/lianjaclouddataservices/
# python
import lianjaclouddataservices as Lianja
print("Lianja.login() - login and keep the connection to the Lianja Cloud Server open (keep-alive)");
ok = Lianja.login("http://localhost:8001","admin", "admin")
print("result=" + ("successful" if ok else "failed"));
print("Lianja.evaluate() - Evaluate a server side expression which may include remove procedure/function calls");
result = Lianja.evaluate("etos(date()) + ' ' + time()")
print("result=" + result);
print("Lianja.OData_Read() - Read rows and return JSON as a Python 'dict'")
result = Lianja.OData_Read("/southwind/employees?$top=2")
print("#Rows selected="+str(result["d"]["__reccount"]))
print("Access rows like this (index from 0): result['d']['results'][1]")
print("Access columns in a row like this: result['d']['results'][1]['lastname']")
print("Lianja.OData_ReadHTML() - Read all text from a varchar column")
result = Lianja.OData_ReadHTML("/southwind/employees?$select=notes&$filter=lastname eq 'Buchanan'")
print("Lianja.OData_ReadImage() - Read an image from a blob column and return an html <img> tag embedding the image")
response = Lianja.OData_ReadImage("/southwind/employees?$select=photo&$filter=lastname eq 'Buchanan'") 
print("Lianja.logout() - close the connection to the Lianja Cloud Server")