Skip to main content

A python library for Transifex

Project description

This library is a wrapper around the Transifex API, built to provide a simpler interface to users of the API.

At this moment, it supports only a subset of the endpoints of the API. In particular, it allows certain operations on Projects, Resources and Translations.

Usage

Initialization

Before making any requests, you need to setup the HTTP handler, which will be used for all subsequent requests.

Authentication works both with username/password or with an API token.

from txlib_too.http.auth import BasicAuth
from txlib_too.http.http_requests import HttpRequest
from txlib_too.registry import registry

credentials = BasicAuth(username='api', password='')

host = 'https:/www.transifex.com/'
conn = HttpRequest(host, auth=credentials)
registry.setup({'http_handler': conn})

Projects

TODO

Resources

Get resource

from txlib_too.api.resources import Resource
from txlib_too.http.exceptions import NotFoundError, ServerError

try:
    r = Resource.get(project_slug='project_slug', slug='resource_slug')
    print(r.slug) # 'resource_slug'
except NotFoundError:
    print('Resource not found')
except ServerError as e:
    print('Exception while retrieving resource: {}'.format(e))

Create/update resource

from txlib_too.api.resources import Resource
from txlib_too.http.exceptions import NotFoundError, ServerError

try:
    r = Resource.get(project_slug='project_slug', slug='resource_slug')
    # Resource exists, update it
    # Not all fields are allowed here. For example, if i18n_type
    # is provided, the request will fail with a 400 error
    try:
        r.save(content='{"key1": "text1"}')
    except ServerError as e:
        print('Exception while updating resource: {}'.format(e))

except NotFoundError:
    # Resource does not exist, create one now
    try:
        r = Resource(project_slug='project_slug', slug='resource_slug')
        r.save(name='R1', i18n_type='KEYVALUEJSON', content='{"key1": "text1"}')
    except ServerError as e:
        print('Exception while creating resource: {}'.format(e))

except ServerError as e:
    print('Exception while retrieving resource: {}'.format(e))

Alternatively, instead of passing all parameters to save(), you can do the following:

r = Resource.get(...)
r.name = '...'
r.i18n_type = '...'
r.content = '...'
r.save()

Translations

Get translation

from txlib_too.api.translations import Translation
from txlib_too.http.exceptions import NotFoundError, ServerError

try:
    t = Translation.get(project_slug='project_slug', slug='resource_slug', lang='translation_language')
    print(t.lang) # 'translation_language'
except NotFoundError:
    print('Translation not found')
except ServerError as e:
    print('Exception while retrieving translation: {}'.format(e))

Create/update translation

from txlib_too.api.translations import Translation
from txlib_too.http.exceptions import NotFoundError, ServerError

try:
    t = Translation(
        project_slug=project_slug, slug=resource_slug, lang=language_code
    )
    t.save(content=content)
except ServerError as e:
    print('Exception while retrieving translation: {}'.format(e))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for txlib-too, version 0.1.8
Filename, size File type Python version Upload date Hashes
Filename, size txlib_too-0.1.8-py2.py3-none-any.whl (40.8 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size txlib_too-0.1.8.tar.gz (38.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page