weblate/docs/python.rst
2025-01-29 10:28:07 +01:00

118 lines
2.5 KiB
ReStructuredText

.. index::
single: Python
single: API
.. _python:
Weblate's Python API
~~~~~~~~~~~~~~~~~~~~
Installation
============
The Python API is shipped separately, you need to install the
:ref:`wlc` (wlc) to have it.
.. code-block:: sh
pip install wlc
:mod:`wlc`
==========
.. module:: wlc
:synopsis: Weblate API
:exc:`WeblateException`
-----------------------
.. exception:: WeblateException
Base class for all exceptions.
:class:`Weblate`
----------------
.. class:: Weblate(key='', url=None, config=None)
:param key: User key
:type key: str
:param url: API server URL, if not specified default is used.
:type url: str
:param config: Configuration object, overrides any other parameters.
:type config: wlc.config.WeblateConfig
Access class to the API, define API key and optionally API URL.
.. method:: get(path)
:param path: Request path
:type path: str
:rtype: object
Performs a single API GET call.
.. method:: post(path, **kwargs)
:param path: Request path
:type path: str
:rtype: object
Performs a single API GET call.
:mod:`wlc.config`
=================
.. module:: wlc.config
:synopsis: Configuration parsing
:class:`WeblateConfig`
----------------------
.. class:: WeblateConfig(section='wlc')
:param section: Configuration section to use
:type section: str
Configuration file parser following XDG specification.
.. method:: load(path=None)
:param path: Path from which to load configuration.
:type path: str
Loads configuration from a file, if none is specified, it loads from
the `wlc` configuration file (:file:`~/.config/wlc`) placed in your
XDG configuration path (:file:`/etc/xdg/wlc`).
:mod:`wlc.main`
===============
.. module:: wlc.main
:synopsis: Command-line interface
.. function:: main(settings=None, stdout=None, args=None)
:param settings: Settings to override as list of tuples
:type settings: list
:param stdout: stdout file object for printing output, uses ``sys.stdout`` as default
:type stdout: object
:param args: Command-line arguments to process, uses ``sys.args`` as default
:type args: list
Main entry point for command-line interface.
.. decorator:: register_command(command)
Decorator to register :class:`Command` class in main parser used by
:func:`main`.
:class:`Command`
----------------
.. class:: Command(args, config, stdout=None)
Main class for invoking commands.