mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2024-12-26 03:14:19 +00:00
47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
from .api import APIClient
|
|
from .models.corpora import CorpusCollection
|
|
|
|
|
|
class CQiClient:
|
|
"""
|
|
A client for communicating with a CQi server.
|
|
|
|
Example:
|
|
>>> import cqi
|
|
>>> client = cqi.CQiClient('127.0.0.1')
|
|
>>> client.connect()
|
|
{'code': 258, 'msg': 'CQI_STATUS_CONNECT_OK'}
|
|
>>> client.ping()
|
|
{'code': 260, 'msg': 'CQI_STATUS_PING_OK'}
|
|
>>> client.disconnect()
|
|
{'code': 259, 'msg': 'CQI_STATUS_BYE_OK'}
|
|
|
|
Attributes:
|
|
api (APIClient): An API client pointing to the specified CQP server.
|
|
"""
|
|
|
|
def __init__(self, host, port=4877):
|
|
"""
|
|
CQiClient constructor
|
|
|
|
Args:
|
|
host (str): URL to the CQP server. For example,
|
|
``cqpserver.localhost`` or ``127.0.0.1``.
|
|
port (int): Port the CQP server listens on. Default: ``4877``
|
|
"""
|
|
self.api = APIClient(host, port=port)
|
|
|
|
def connect(self, username='anonymous', password=''):
|
|
status = self.api.ctrl_connect(username, password)
|
|
return status
|
|
|
|
def disconnect(self):
|
|
return self.api.ctrl_bye()
|
|
|
|
def ping(self):
|
|
return self.api.ctrl_ping()
|
|
|
|
@property
|
|
def corpora(self):
|
|
return CorpusCollection(client=self)
|