https://github.com/leonidessaguisagjr/pymemoq
Python module to facilitate accessing the memoQ Web Service API.
https://github.com/leonidessaguisagjr/pymemoq
localization memoq memoq-server python python-3 python-lib python-library python3 translation
Last synced: 3 months ago
JSON representation
Python module to facilitate accessing the memoQ Web Service API.
- Host: GitHub
- URL: https://github.com/leonidessaguisagjr/pymemoq
- Owner: leonidessaguisagjr
- License: mit
- Created: 2020-01-08T07:02:13.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-08-26T16:22:14.000Z (over 4 years ago)
- Last Synced: 2024-04-23T20:54:28.249Z (about 1 year ago)
- Topics: localization, memoq, memoq-server, python, python-3, python-lib, python-library, python3, translation
- Language: Python
- Size: 14.6 KB
- Stars: 8
- Watchers: 3
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
``pymemoq``
===========Python module to facilitate accessing the `memoQ API `_.
Installation
------------This module is available on the Python Package Index (PyPI) and can be installed as follows:
``pip install pymemoq``
Dependencies
------------This module is dependent on the following additional packages:
- `zeep `_
Available classes
-----------------The following classes are currently available (eventual goal is to provide wrappers for all of the APIs):
Under ``memoq.server``:
- ``MemoQServer`` - Wraps around a memoQ server and exposes a limited subset of the API
Under ``memoq.webservice``:
- ``MemoQAsynchronousTasksService`` - Asynchronous Tasks management API
- ``MemoQELMService`` - License (ELM) management API
- ``MemoQFileManagerService`` - File upload/download API
- ``MemoQLightResourceService`` - Light resource management API
- ``MemoQLiveDocsService`` - LiveDocs management API
- ``MemoQSecurityService`` - Security API
- ``MemoQServerProjectService`` - Server projects API
- ``MemoQTBService`` - Term base management API
- ``MemoQTMService`` - Translation memory management APIExample API Usage
-----------------
>>> from memoq import MemoQServer
>>> memoq_server = MemoQServer('http://localhost:8080')
>>> memoq_server.api_version
'9.2.5'
>>> from memoq.webservice import MemoQServerProjectService
>>> project_service = MemoQServerProjectService('http://localhost:8080')
>>> project_service.GetApiVersion()
'9.2.5'
>>> from memoq.util import response_object_to_dict
>>> projects = [response_object_to_dict(project) for project in memoq_server.projects]
>>> from collections import Counter
>>> Counter([proj['DocumentStatus'] for proj in projects])
Counter({'TranslationInProgress': 65, 'TranslationFinished': 43, 'ProofreadingFinished': 21})
>>>Implementation Notes
--------------------Per the recommendation to `enable caching of WSDL and XSD files
`_, we are using an instance of
the ``zeep.CachingClient()`` under the hood. Since the memoQ WSDL and XSD files should not be changing except when
the server is upgraded, this should improve performance without causing any issues.References
----------
- `memoQ Server Resources API documentation `_
- `memoQ server Web Service API documentation `_License
-------This is released under an MIT license. See the ``LICENSE`` file in this repository for more information.