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.

Source Distribution

txlib_too-0.1.8.tar.gz (38.2 kB view details)

Uploaded Source

Built Distribution

txlib_too-0.1.8-py2.py3-none-any.whl (40.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file txlib_too-0.1.8.tar.gz.

File metadata

  • Download URL: txlib_too-0.1.8.tar.gz
  • Upload date:
  • Size: 38.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.5

File hashes

Hashes for txlib_too-0.1.8.tar.gz
Algorithm Hash digest
SHA256 a799c36d05273429864a76414f644fb591c31b4188839b8e09f8e4796d2dc5d7
MD5 2ab869cc86f3d6dfd72e51a58796b152
BLAKE2b-256 401e9c9893554a4d2a1412d589d0c1fc4fef3ac2c35b2d0287f5f5d3687879d6

See more details on using hashes here.

File details

Details for the file txlib_too-0.1.8-py2.py3-none-any.whl.

File metadata

  • Download URL: txlib_too-0.1.8-py2.py3-none-any.whl
  • Upload date:
  • Size: 40.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.5

File hashes

Hashes for txlib_too-0.1.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 45931c380cc415a369daf2d99555c08648530966edb5a8ffb33970dab20f7f6b
MD5 2b2810e96e8e16e0ea2016da401ea103
BLAKE2b-256 2747f383742fc5ec57521f2f898756749a62632fafd68380f3ab60e6051d1ca0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page