Skip to content

Python module to facilitate accessing the memoQ Web Service API.

License

Notifications You must be signed in to change notification settings

leonidessaguisagjr/pymemoq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

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 API

Example 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

License

This is released under an MIT license. See the LICENSE file in this repository for more information.

Releases

No releases published

Packages

No packages published

Languages