parent
de9f0cc3df
commit
e5699d0e40
@ -0,0 +1 @@
|
||||
pip
|
@ -0,0 +1,20 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2018 Dave Snider, Read the Docs, Inc. & contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@ -0,0 +1,103 @@
|
||||
Metadata-Version: 2.1
|
||||
Name: sphinx-rtd-theme
|
||||
Version: 0.5.1
|
||||
Summary: Read the Docs theme for Sphinx
|
||||
Home-page: https://github.com/readthedocs/sphinx_rtd_theme
|
||||
Author: Dave Snider, Read the Docs, Inc. & contributors
|
||||
Author-email: dev@readthedocs.org
|
||||
License: MIT
|
||||
Platform: UNKNOWN
|
||||
Classifier: Framework :: Sphinx
|
||||
Classifier: Framework :: Sphinx :: Theme
|
||||
Classifier: Development Status :: 5 - Production/Stable
|
||||
Classifier: License :: OSI Approved :: MIT License
|
||||
Classifier: Environment :: Console
|
||||
Classifier: Environment :: Web Environment
|
||||
Classifier: Intended Audience :: Developers
|
||||
Classifier: Programming Language :: Python :: 2.7
|
||||
Classifier: Programming Language :: Python :: 3
|
||||
Classifier: Programming Language :: Python :: 3.3
|
||||
Classifier: Programming Language :: Python :: 3.4
|
||||
Classifier: Programming Language :: Python :: 3.5
|
||||
Classifier: Programming Language :: Python :: 3.6
|
||||
Classifier: Operating System :: OS Independent
|
||||
Classifier: Topic :: Documentation
|
||||
Classifier: Topic :: Software Development :: Documentation
|
||||
Requires-Dist: sphinx
|
||||
Provides-Extra: dev
|
||||
Requires-Dist: transifex-client ; extra == 'dev'
|
||||
Requires-Dist: sphinxcontrib-httpdomain ; extra == 'dev'
|
||||
Requires-Dist: bump2version ; extra == 'dev'
|
||||
|
||||
**************************
|
||||
Read the Docs Sphinx Theme
|
||||
**************************
|
||||
|
||||
.. image:: https://img.shields.io/pypi/v/sphinx_rtd_theme.svg
|
||||
:target: https://pypi.python.org/pypi/sphinx_rtd_theme
|
||||
:alt: Pypi Version
|
||||
.. image:: https://circleci.com/gh/readthedocs/sphinx_rtd_theme.svg?style=svg
|
||||
:alt: Build Status
|
||||
:target: https://circleci.com/gh/readthedocs/sphinx_rtd_theme
|
||||
.. image:: https://img.shields.io/pypi/l/sphinx_rtd_theme.svg
|
||||
:target: https://pypi.python.org/pypi/sphinx_rtd_theme/
|
||||
:alt: License
|
||||
.. image:: https://readthedocs.org/projects/sphinx-rtd-theme/badge/?version=latest
|
||||
:target: http://sphinx-rtd-theme.readthedocs.io/en/latest/?badge=latest
|
||||
:alt: Documentation Status
|
||||
|
||||
This Sphinx_ theme was designed to provide a great reader experience for
|
||||
documentation users on both desktop and mobile devices. This theme is used
|
||||
primarily on `Read the Docs`_ but can work with any Sphinx project. You can find
|
||||
a working demo of the theme in the `theme documentation`_
|
||||
|
||||
.. _Sphinx: http://www.sphinx-doc.org
|
||||
.. _Read the Docs: http://www.readthedocs.org
|
||||
.. _theme documentation: https://sphinx-rtd-theme.readthedocs.io/en/latest/
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
This theme is distributed on PyPI_ and can be installed with ``pip``:
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ pip install sphinx-rtd-theme
|
||||
|
||||
To use the theme in your Sphinx project, you will need to add the following to
|
||||
your ``conf.py`` file:
|
||||
|
||||
.. code:: python
|
||||
|
||||
import sphinx_rtd_theme
|
||||
|
||||
extensions = [
|
||||
...
|
||||
"sphinx_rtd_theme",
|
||||
]
|
||||
|
||||
html_theme = "sphinx_rtd_theme"
|
||||
|
||||
For more information read the full documentation on `installing the theme`_
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/sphinx_rtd_theme
|
||||
.. _installing the theme: https://sphinx-rtd-theme.readthedocs.io/en/latest/installing.html
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
This theme is highly customizable on both the page level and on a global level.
|
||||
To see all the possible configuration options, read the documentation on
|
||||
`configuring the theme`_.
|
||||
|
||||
.. _configuring the theme: https://sphinx-rtd-theme.readthedocs.io/en/latest/configuring.html
|
||||
|
||||
Contributing
|
||||
============
|
||||
|
||||
If you would like to help modify or translate the theme, you'll find more
|
||||
information on contributing in our `contributing guide`_.
|
||||
|
||||
.. _contributing guide: https://sphinx-rtd-theme.readthedocs.io/en/latest/contributing.html
|
||||
|
||||
|
@ -0,0 +1,63 @@
|
||||
sphinx_rtd_theme-0.5.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
sphinx_rtd_theme-0.5.1.dist-info/LICENSE,sha256=SGSJZCG4pJES7vqJmmtDZjKb1v5mnzjv77KfgUh87x4,1119
|
||||
sphinx_rtd_theme-0.5.1.dist-info/METADATA,sha256=pcIzLIkbqWFjo1P05DNi0TqbpGJlRAGwwK6-bZ9JIQo,3567
|
||||
sphinx_rtd_theme-0.5.1.dist-info/RECORD,,
|
||||
sphinx_rtd_theme-0.5.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
sphinx_rtd_theme-0.5.1.dist-info/WHEEL,sha256=Z-nyYpwrcSqxfdux5Mbn_DQ525iP7J2DG3JgGvOYyTQ,110
|
||||
sphinx_rtd_theme-0.5.1.dist-info/entry_points.txt,sha256=iTs5wnBlk5Wj13ivBKljEBc5sXHi5W36liWmPmugQkg,58
|
||||
sphinx_rtd_theme-0.5.1.dist-info/top_level.txt,sha256=fJPZIXJs_gnmgm6U_6azGTNmDsz8za4Gpra4gGGcXKg,17
|
||||
sphinx_rtd_theme/__init__.py,sha256=KdE6DwSwzP4JNrx29nFP3JKxjrvikzZcn3JeHFyofO8,1628
|
||||
sphinx_rtd_theme/__pycache__/__init__.cpython-37.pyc,,
|
||||
sphinx_rtd_theme/breadcrumbs.html,sha256=4Jh_eJnF8PflhLXJtynsxNY0KiyE1fVO9UYaKrneTtM,4045
|
||||
sphinx_rtd_theme/footer.html,sha256=RLJYoDz72w_CSLIbYT8Vl4PAXGDDLXBBLKUVx-ibmyQ,2809
|
||||
sphinx_rtd_theme/layout.html,sha256=lJDCGBGGOeEcDY3hYEcDVJY_MgrA0psHWMDgRSe5b18,9048
|
||||
sphinx_rtd_theme/locale/de/LC_MESSAGES/sphinx.mo,sha256=fQ_lFWgDLLuRVC1SfQoawsk_DBKCzv6__vz6wZ9ju6A,2085
|
||||
sphinx_rtd_theme/locale/de/LC_MESSAGES/sphinx.po,sha256=oe1cDm07zZ7_5CyMBjO_9yaE6iyV93zjSOq7OJ_be3M,4151
|
||||
sphinx_rtd_theme/locale/en/LC_MESSAGES/sphinx.mo,sha256=tuB660LkvCmC-IYmdCu1v7Wg7MVCF_nXPdawTixV9hc,455
|
||||
sphinx_rtd_theme/locale/en/LC_MESSAGES/sphinx.po,sha256=nMwFvXGDv9-B0O9Bksua8ujmOqJ2iyE9LaZ1jAwZCfo,3941
|
||||
sphinx_rtd_theme/locale/es/LC_MESSAGES/sphinx.mo,sha256=DCJFK5t3pz_3Ld_taMUmIp13CxKsVkrTAjJBo1a_AAA,2266
|
||||
sphinx_rtd_theme/locale/es/LC_MESSAGES/sphinx.po,sha256=1ZH0MSy2SJKGfuI7UmnseQ7r8ik12k8KIs6cB31unUk,4713
|
||||
sphinx_rtd_theme/locale/et/LC_MESSAGES/sphinx.mo,sha256=BpL0MdFqFrS1NdyvO3COnGpQ4OXkYk_jiJ2cYJdjz7U,2059
|
||||
sphinx_rtd_theme/locale/et/LC_MESSAGES/sphinx.po,sha256=eFNvAgT7GX-jTeqrOShQZexqpkmpWpnr7507gT3in0s,4257
|
||||
sphinx_rtd_theme/locale/fr/LC_MESSAGES/sphinx.mo,sha256=nGLNfBqe7qipvm5j4vz6YtTe5xPtgVUXJCKvsNPgEYQ,2164
|
||||
sphinx_rtd_theme/locale/fr/LC_MESSAGES/sphinx.po,sha256=n6lYIaGX8bfidwD1qT3_HNfl1whG6vrqzIzqPYQJMm0,4422
|
||||
sphinx_rtd_theme/locale/nl/LC_MESSAGES/sphinx.mo,sha256=n_FypA8AgxlJfu9eD_k14ShpF9YihtaZiJqRlihee4A,2069
|
||||
sphinx_rtd_theme/locale/nl/LC_MESSAGES/sphinx.po,sha256=tUWD--ggepGNM4219cj_O4caPk7CIT2eCajRss6FELo,4362
|
||||
sphinx_rtd_theme/locale/pt_BR/LC_MESSAGES/sphinx.mo,sha256=M4un5iIQXuWE8UO5TfVVfofQLV8LZSKxicDUa4yIJv0,2219
|
||||
sphinx_rtd_theme/locale/pt_BR/LC_MESSAGES/sphinx.po,sha256=01vA42XVr-pV9pueIceWAFLVaUXtGkTC2D_I2SAjFo0,4542
|
||||
sphinx_rtd_theme/locale/ru/LC_MESSAGES/sphinx.mo,sha256=_FSTKnzb4PRU5QOWf5Ad2XvGjlv7M88AheZ5JCPm7MM,2791
|
||||
sphinx_rtd_theme/locale/ru/LC_MESSAGES/sphinx.po,sha256=VxJSltin7g86krOYvUxmzPw85x0Ly1GQbDbQrX8HC_w,5201
|
||||
sphinx_rtd_theme/locale/sphinx.pot,sha256=kVGPkcPIj3l7rst3_2gMYb_C_b3KWVKHl1dA3P0l2UY,3756
|
||||
sphinx_rtd_theme/locale/sv/LC_MESSAGES/sphinx.mo,sha256=mVpJq_jE0rsrdulRvOthe1H053LkWqoLBpUVKZ9K9Kg,2097
|
||||
sphinx_rtd_theme/locale/sv/LC_MESSAGES/sphinx.po,sha256=_yYZ8K2IjpLHnb2N5qXJ10lJLxVLAx8UxqUqi2og6K0,4448
|
||||
sphinx_rtd_theme/locale/tr/LC_MESSAGES/sphinx.mo,sha256=2MTdvC0Fu9AHqS9oFIFVfkesxwx3lEITQyYIeaIhE0M,2115
|
||||
sphinx_rtd_theme/locale/tr/LC_MESSAGES/sphinx.po,sha256=5m8C38BNs4oCCogFXZ7JWc4sqQ1LN9oHLtPEbd09afI,4204
|
||||
sphinx_rtd_theme/locale/zh_CN/LC_MESSAGES/sphinx.mo,sha256=_64BAS71Dx-jExr6dPP7FAD5T7NBIAn8Tspk0AVBIGw,2056
|
||||
sphinx_rtd_theme/locale/zh_CN/LC_MESSAGES/sphinx.po,sha256=sTxtU-2sp06LEEF_nuhKYlZ-IxIlKoqu9qV6sXq2DHg,4265
|
||||
sphinx_rtd_theme/search.html,sha256=ZrR-0mK3QUwnjaw2CHK97SDaLSI9jQq6W59GJmtaF60,1851
|
||||
sphinx_rtd_theme/searchbox.html,sha256=xpm38vOVnqRLP1ePEO87bWBAqmbjDxP0aKLoijqxfUI,369
|
||||
sphinx_rtd_theme/static/css/badge_only.css,sha256=xAUPpH2Ltil8eYEfZj5s-jLLa3g7R-rt3WulDVzxpmY,3275
|
||||
sphinx_rtd_theme/static/css/fonts/Roboto-Slab-Bold.woff,sha256=n-yHytviQTslXx7Fd1c6g_HKLhw3qgI9vrzTp7hkY2o,87624
|
||||
sphinx_rtd_theme/static/css/fonts/Roboto-Slab-Bold.woff2,sha256=GgwCTdGiZ8UtVXVGn_6FcNHoQWTefTk880FLr9F9egw,67312
|
||||
sphinx_rtd_theme/static/css/fonts/Roboto-Slab-Regular.woff,sha256=nzJjDiwMUTW_HobjbLZbOTLkQQZEI1vCvZlenH9v8Rc,86288
|
||||
sphinx_rtd_theme/static/css/fonts/Roboto-Slab-Regular.woff2,sha256=h05CIihW168Ds_Q40h2SOkKA1H_mfEhRDiF0oVeXle8,66444
|
||||
sphinx_rtd_theme/static/css/fonts/fontawesome-webfont.eot,sha256=e_yrbbmdXPvxcFygU23ceFhUMsxfpBu9etDwCQM7KXk,165742
|
||||
sphinx_rtd_theme/static/css/fonts/fontawesome-webfont.svg,sha256=rWFXkmwWIrpOHQPUePFUE2hSS_xG9R5C_g2UX37zI-Q,444379
|
||||
sphinx_rtd_theme/static/css/fonts/fontawesome-webfont.ttf,sha256=qljzPyOaD7AvXHpsRcBD16msmgkzNYBmlOzW1O3A1qg,165548
|
||||
sphinx_rtd_theme/static/css/fonts/fontawesome-webfont.woff,sha256=ugxZ3rVFD1y0Gz-TYJ7i0NmVQVh33foiPoqKdTNHTwc,98024
|
||||
sphinx_rtd_theme/static/css/fonts/fontawesome-webfont.woff2,sha256=Kt78vAQefRj88tQXh53FoJmXqmTWdbejxLbOM9oT8_4,77160
|
||||
sphinx_rtd_theme/static/css/fonts/lato-bold-italic.woff,sha256=mAyFkuVIjfJWGSyZnpLbj9MC24zYkJt_omamhON-Rfg,323344
|
||||
sphinx_rtd_theme/static/css/fonts/lato-bold-italic.woff2,sha256=wJFqMzQNBj97BWeeCAMecp0YiERHBvBIBHBdpZZtiV0,193308
|
||||
sphinx_rtd_theme/static/css/fonts/lato-bold.woff,sha256=DlaxfRQus2bIAHAx0U402kjHC0qdmgykkuaWp7rkXh4,309728
|
||||
sphinx_rtd_theme/static/css/fonts/lato-bold.woff2,sha256=roj8DXqWGDL4CVJ9ML05g6aGbUL2alat4j9UNoFZTbY,184912
|
||||
sphinx_rtd_theme/static/css/fonts/lato-normal-italic.woff,sha256=JjGKFGel5crxCwTPqULQeWMlYM16Kc7FZf0dyffsUIE,328412
|
||||
sphinx_rtd_theme/static/css/fonts/lato-normal-italic.woff2,sha256=RGV2Xy9u3c2tNP_XyrVZ5WvA515F4ZL4XpVisHcUgdw,195704
|
||||
sphinx_rtd_theme/static/css/fonts/lato-normal.woff,sha256=W5Al3aTXaI4zEbDBft3FARM7gH3vM-_672WThDz1QW4,309192
|
||||
sphinx_rtd_theme/static/css/fonts/lato-normal.woff2,sha256=mDsMrzNuhUIhT8FwGaT8XgNghkuSgGyhTVXB_BwsWg8,182708
|
||||
sphinx_rtd_theme/static/css/theme.css,sha256=D-HEP5UGTr5BaRskKQEc0WM9fEpGD6REsLJt1Kr88v0,123687
|
||||
sphinx_rtd_theme/static/js/badge_only.js,sha256=8KSAjQTE1VN4dRrAlqg3a2SxpwTIJYSw7lkCEs9BMBM,934
|
||||
sphinx_rtd_theme/static/js/html5shiv-printshiv.min.js,sha256=tCp-lJpuIdZrMPu7SiLer9ngzKvATw-ikH_GJS_fFl8,4370
|
||||
sphinx_rtd_theme/static/js/html5shiv.min.js,sha256=9uAoNWHdszsUDhSXf_rVcWOqKPfi5_8V5R4UdbZle2A,2734
|
||||
sphinx_rtd_theme/static/js/theme.js,sha256=scTQnaOnGcaJNEiIWE7xjFLEu8_zt6rtd1L9_3pHBQw,4916
|
||||
sphinx_rtd_theme/theme.conf,sha256=6SmBe2-QST8aiVPDx10E-fVl2r2M_cAKiWoZAOEUdck,407
|
||||
sphinx_rtd_theme/versions.html,sha256=oZxqmUp9O1NpLm9VYktOOaB8Qqm2JF0g7HQshmMZObg,1236
|
@ -0,0 +1,6 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: bdist_wheel (0.36.2)
|
||||
Root-Is-Purelib: true
|
||||
Tag: py2-none-any
|
||||
Tag: py3-none-any
|
||||
|
@ -0,0 +1,3 @@
|
||||
[sphinx.html_themes]
|
||||
sphinx_rtd_theme = sphinx_rtd_theme
|
||||
|
@ -0,0 +1 @@
|
||||
sphinx_rtd_theme
|
@ -0,0 +1,52 @@
|
||||
"""
|
||||
Sphinx Read the Docs theme.
|
||||
|
||||
From https://github.com/ryan-roemer/sphinx-bootstrap-theme.
|
||||
"""
|
||||
|
||||
from os import path
|
||||
|
||||
from sphinx import version_info
|
||||
from sphinx.locale import _
|
||||
|
||||
try:
|
||||
# Avaliable from Sphinx 1.6
|
||||
from sphinx.util.logging import getLogger
|
||||
except ImportError:
|
||||
from logging import getLogger
|
||||
|
||||
|
||||
__version__ = '0.5.1'
|
||||
__version_full__ = __version__
|
||||
|
||||
logger = getLogger(__name__)
|
||||
|
||||
|
||||
def get_html_theme_path():
|
||||
"""Return list of HTML theme paths."""
|
||||
cur_dir = path.abspath(path.dirname(path.dirname(__file__)))
|
||||
return cur_dir
|
||||
|
||||
|
||||
def config_initiated(app, config):
|
||||
theme_options = config.html_theme_options or {}
|
||||
if theme_options.get('canonical_url'):
|
||||
logger.warning(
|
||||
_('The canonical_url option is deprecated, use the html_baseurl option from Sphinx instead.')
|
||||
)
|
||||
|
||||
|
||||
# See http://www.sphinx-doc.org/en/stable/theming.html#distribute-your-theme-as-a-python-package
|
||||
def setup(app):
|
||||
if version_info >= (1, 6, 0):
|
||||
# Register the theme that can be referenced without adding a theme path
|
||||
app.add_html_theme('sphinx_rtd_theme', path.abspath(path.dirname(__file__)))
|
||||
|
||||
if version_info >= (1, 8, 0):
|
||||
# Add Sphinx message catalog for newer versions of Sphinx
|
||||
# See http://www.sphinx-doc.org/en/master/extdev/appapi.html#sphinx.application.Sphinx.add_message_catalog
|
||||
rtd_locale_path = path.join(path.abspath(path.dirname(__file__)), 'locale')
|
||||
app.add_message_catalog('sphinx', rtd_locale_path)
|
||||
app.connect('config-inited', config_initiated)
|
||||
|
||||
return {'parallel_read_safe': True, 'parallel_write_safe': True}
|
@ -0,0 +1,84 @@
|
||||
{# Support for Sphinx 1.3+ page_source_suffix, but don't break old builds. #}
|
||||
|
||||
{% if page_source_suffix %}
|
||||
{% set suffix = page_source_suffix %}
|
||||
{% else %}
|
||||
{% set suffix = source_suffix %}
|
||||
{% endif %}
|
||||
|
||||
{% if meta is defined and meta is not none %}
|
||||
{% set check_meta = True %}
|
||||
{% else %}
|
||||
{% set check_meta = False %}
|
||||
{% endif %}
|
||||
|
||||
{% if check_meta and 'github_url' in meta %}
|
||||
{% set display_github = True %}
|
||||
{% endif %}
|
||||
|
||||
{% if check_meta and 'bitbucket_url' in meta %}
|
||||
{% set display_bitbucket = True %}
|
||||
{% endif %}
|
||||
|
||||
{% if check_meta and 'gitlab_url' in meta %}
|
||||
{% set display_gitlab = True %}
|
||||
{% endif %}
|
||||
|
||||
{% set display_vcs_links = display_vcs_links if display_vcs_links is defined else True %}
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
{% block breadcrumbs %}
|
||||
<li><a href="{{ pathto(master_doc) }}" class="icon icon-home"></a> »</li>
|
||||
{% for doc in parents %}
|
||||
<li><a href="{{ doc.link|e }}">{{ doc.title }}</a> »</li>
|
||||
{% endfor %}
|
||||
<li>{{ title }}</li>
|
||||
{% endblock %}
|
||||
{% block breadcrumbs_aside %}
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
{% if hasdoc(pagename) and display_vcs_links %}
|
||||
{% if display_github %}
|
||||
{% if check_meta and 'github_url' in meta %}
|
||||
<!-- User defined GitHub URL -->
|
||||
<a href="{{ meta['github_url'] }}" class="fa fa-github"> {{ _('Edit on GitHub') }}</a>
|
||||
{% else %}
|
||||
<a href="https://{{ github_host|default("github.com") }}/{{ github_user }}/{{ github_repo }}/{{ theme_vcs_pageview_mode or "blob" }}/{{ github_version }}{{ conf_py_path }}{{ pagename }}{{ suffix }}" class="fa fa-github"> {{ _('Edit on GitHub') }}</a>
|
||||
{% endif %}
|
||||
{% elif display_bitbucket %}
|
||||
{% if check_meta and 'bitbucket_url' in meta %}
|
||||
<!-- User defined Bitbucket URL -->
|
||||
<a href="{{ meta['bitbucket_url'] }}" class="fa fa-bitbucket"> {{ _('Edit on Bitbucket') }}</a>
|
||||
{% else %}
|
||||
<a href="https://bitbucket.org/{{ bitbucket_user }}/{{ bitbucket_repo }}/src/{{ bitbucket_version}}{{ conf_py_path }}{{ pagename }}{{ suffix }}?mode={{ theme_vcs_pageview_mode or "view" }}" class="fa fa-bitbucket"> {{ _('Edit on Bitbucket') }}</a>
|
||||
{% endif %}
|
||||
{% elif display_gitlab %}
|
||||
{% if check_meta and 'gitlab_url' in meta %}
|
||||
<!-- User defined GitLab URL -->
|
||||
<a href="{{ meta['gitlab_url'] }}" class="fa fa-gitlab"> {{ _('Edit on GitLab') }}</a>
|
||||
{% else %}
|
||||
<a href="https://{{ gitlab_host|default("gitlab.com") }}/{{ gitlab_user }}/{{ gitlab_repo }}/{{ theme_vcs_pageview_mode or "blob" }}/{{ gitlab_version }}{{ conf_py_path }}{{ pagename }}{{ suffix }}" class="fa fa-gitlab"> {{ _('Edit on GitLab') }}</a>
|
||||
{% endif %}
|
||||
{% elif show_source and source_url_prefix %}
|
||||
<a href="{{ source_url_prefix }}{{ pagename }}{{ suffix }}">{{ _('View page source') }}</a>
|
||||
{% elif show_source and has_source and sourcename %}
|
||||
<a href="{{ pathto('_sources/' + sourcename, true)|e }}" rel="nofollow"> {{ _('View page source') }}</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</li>
|
||||
{% endblock %}
|
||||
</ul>
|
||||
|
||||
{% if (theme_prev_next_buttons_location == 'top' or theme_prev_next_buttons_location == 'both') and (next or prev) %}
|
||||
<div class="rst-breadcrumbs-buttons" role="navigation" aria-label="breadcrumb navigation">
|
||||
{% if next %}
|
||||
<a href="{{ next.link|e }}" class="btn btn-neutral float-right" title="{{ next.title|striptags|e }}" accesskey="n">{{ _('Next') }} <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
{% endif %}
|
||||
{% if prev %}
|
||||
<a href="{{ prev.link|e }}" class="btn btn-neutral float-left" title="{{ prev.title|striptags|e }}" accesskey="p"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> {{ _('Previous') }}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
<hr/>
|
||||
</div>
|
@ -0,0 +1,61 @@
|
||||
<footer>
|
||||
{%- if (theme_prev_next_buttons_location == 'bottom' or theme_prev_next_buttons_location == 'both') and (next or prev) %}
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
{%- if next %}
|
||||
<a href="{{ next.link|e }}" class="btn btn-neutral float-right" title="{{ next.title|striptags|e }}" accesskey="n" rel="next">{{ _('Next') }} <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
{%- endif %}
|
||||
{%- if prev %}
|
||||
<a href="{{ prev.link|e }}" class="btn btn-neutral float-left" title="{{ prev.title|striptags|e }}" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> {{ _('Previous') }}</a>
|
||||
{%- endif %}
|
||||
</div>
|
||||
{%- endif %}
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
{%- block contentinfo %}
|
||||
<p>
|
||||
{%- if show_copyright %}
|
||||
{%- if hasdoc('copyright') %}
|
||||
{% trans path=pathto('copyright'), copyright=copyright|e %}© <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %}
|
||||
{%- else %}
|
||||
{% trans copyright=copyright|e %}© Copyright {{ copyright }}.{% endtrans %}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
|
||||
{%- if build_id and build_url %}
|
||||
<span class="build">
|
||||
{# Translators: Build is a noun, not a verb #}
|
||||
{% trans %}Build{% endtrans %}
|
||||
<a href="{{ build_url }}">{{ build_id }}</a>.
|
||||
</span>
|
||||
{%- elif commit %}
|
||||
<span class="commit">
|
||||
{# Translators: the phrase "revision" comes from Git, referring to a commit #}
|
||||
{% trans %}Revision{% endtrans %} <code>{{ commit }}</code>.
|
||||
</span>
|
||||
{%- endif %}
|
||||
{%- if last_updated %}
|
||||
<span class="lastupdated">
|
||||
{% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
|
||||
</span>
|
||||
{%- endif %}
|
||||
|
||||
</p>
|
||||
{%- endblock %}
|
||||
</div>
|
||||
|
||||
{%- if show_sphinx %}
|
||||
{% set sphinx_web = '<a href="https://www.sphinx-doc.org/">Sphinx</a>' %}
|
||||
{% set readthedocs_web = '<a href="https://readthedocs.org">Read the Docs</a>' %}
|
||||
{# Translators: the variable "sphinx_web" is a link to the Sphinx project documentation with the text "Sphinx" #}
|
||||
{% trans sphinx_web=sphinx_web, readthedocs_web=readthedocs_web %}Built with {{ sphinx_web }} using a{% endtrans %}
|
||||
{# Translators: "theme" refers to a theme for Sphinx, which alters the appearance of the generated documenation #}
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">{% trans %}theme{% endtrans %}</a>
|
||||
{# Translators: this is always used as "provided by Read the Docs", and should not imply Read the Docs is an author of the generated documentation. #}
|
||||
{% trans %}provided by {{ readthedocs_web }}{% endtrans %}.
|
||||
{%- endif %}
|
||||
|
||||
{%- block extrafooter %} {% endblock %}
|
||||
|
||||
</footer>
|
@ -0,0 +1,250 @@
|
||||
{# TEMPLATE VAR SETTINGS #}
|
||||
{%- set url_root = pathto('', 1) %}
|
||||
{%- if url_root == '#' %}{% set url_root = '' %}{% endif %}
|
||||
{%- if not embedded and docstitle %}
|
||||
{%- set titlesuffix = " — "|safe + docstitle|e %}
|
||||
{%- else %}
|
||||
{%- set titlesuffix = "" %}
|
||||
{%- endif %}
|
||||
{%- set lang_attr = 'en' if language == None else (language | replace('_', '-')) %}
|
||||
{%- set sphinx_writer = 'writer-html5' if html5_doctype else 'writer-html4' %}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="{{ sphinx_writer }}" lang="{{ lang_attr }}" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
{{ metatags }}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
{% block htmltitle %}
|
||||
<title>{{ title|striptags|e }}{{ titlesuffix }}</title>
|
||||
{% endblock %}
|
||||
|
||||
{# CSS #}
|
||||
<link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" />
|
||||
<link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" />
|
||||
{%- for css in css_files %}
|
||||
{%- if css|attr("rel") %}
|
||||
<link rel="{{ css.rel }}" href="{{ pathto(css.filename, 1) }}" type="text/css"{% if css.title is not none %} title="{{ css.title }}"{% endif %} />
|
||||
{%- else %}
|
||||
<link rel="stylesheet" href="{{ pathto(css, 1) }}" type="text/css" />
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
|
||||
{%- for cssfile in extra_css_files %}
|
||||
<link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" />
|
||||
{%- endfor %}
|
||||
|
||||
{# FAVICON #}
|
||||
{% if favicon %}
|
||||
<link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/>
|
||||
{% endif %}
|
||||
|
||||
{# CANONICAL URL (deprecated) #}
|
||||
{% if theme_canonical_url and not pageurl %}
|
||||
<link rel="canonical" href="{{ theme_canonical_url }}{{ pagename }}.html"/>
|
||||
{% endif %}
|
||||
|
||||
{# CANONICAL URL #}
|
||||
{%- if pageurl %}
|
||||
<link rel="canonical" href="{{ pageurl|e }}" />
|
||||
{%- endif %}
|
||||
|
||||
{# JAVASCRIPTS #}
|
||||
{%- block scripts %}
|
||||
<!--[if lt IE 9]>
|
||||
<script src="{{ pathto('_static/js/html5shiv.min.js', 1) }}"></script>
|
||||
<![endif]-->
|
||||
{%- if not embedded %}
|
||||
{# XXX Sphinx 1.8.0 made this an external js-file, quick fix until we refactor the template to inherert more blocks directly from sphinx #}
|
||||
{% if sphinx_version >= "1.8.0" %}
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="{{ url_root }}" src="{{ pathto('_static/documentation_options.js', 1) }}"></script>
|
||||
{%- for scriptfile in script_files %}
|
||||
{{ js_tag(scriptfile) }}
|
||||
{%- endfor %}
|
||||
{% else %}
|
||||
<script type="text/javascript">
|
||||
var DOCUMENTATION_OPTIONS = {
|
||||
URL_ROOT:'{{ url_root }}',
|
||||
VERSION:'{{ release|e }}',
|
||||
LANGUAGE:'{{ language }}',
|
||||
COLLAPSE_INDEX:false,
|
||||
FILE_SUFFIX:'{{ '' if no_search_suffix else file_suffix }}',
|
||||
HAS_SOURCE: {{ has_source|lower }},
|
||||
SOURCELINK_SUFFIX: '{{ sourcelink_suffix }}'
|
||||
};
|
||||
</script>
|
||||
{%- for scriptfile in script_files %}
|
||||
<script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
|
||||
{%- endfor %}
|
||||
{% endif %}
|
||||
<script type="text/javascript" src="{{ pathto('_static/js/theme.js', 1) }}"></script>
|
||||
|
||||
{# OPENSEARCH #}
|
||||
{%- if use_opensearch %}
|
||||
<link rel="search" type="application/opensearchdescription+xml"
|
||||
title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}"
|
||||
href="{{ pathto('_static/opensearch.xml', 1) }}"/>
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
{%- endblock %}
|
||||
|
||||
{%- block linktags %}
|
||||
{%- if hasdoc('about') %}
|
||||
<link rel="author" title="{{ _('About these documents') }}" href="{{ pathto('about') }}" />
|
||||
{%- endif %}
|
||||
{%- if hasdoc('genindex') %}
|
||||
<link rel="index" title="{{ _('Index') }}" href="{{ pathto('genindex') }}" />
|
||||
{%- endif %}
|
||||
{%- if hasdoc('search') %}
|
||||
<link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" />
|
||||
{%- endif %}
|
||||
{%- if hasdoc('copyright') %}
|
||||
<link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" />
|
||||
{%- endif %}
|
||||
{%- if next %}
|
||||
<link rel="next" title="{{ next.title|striptags|e }}" href="{{ next.link|e }}" />
|
||||
{%- endif %}
|
||||
{%- if prev %}
|
||||
<link rel="prev" title="{{ prev.title|striptags|e }}" href="{{ prev.link|e }}" />
|
||||
{%- endif %}
|
||||
{%- endblock %}
|
||||
{%- block extrahead %} {% endblock %}
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
{% block extrabody %} {% endblock %}
|
||||
<div class="wy-grid-for-nav">
|
||||
{# SIDE NAV, TOGGLES ON MOBILE #}
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" {% if theme_style_nav_header_background %} style="background: {{theme_style_nav_header_background}}" {% endif %}>
|
||||
{% block sidebartitle %}
|
||||
|
||||
{% if logo and theme_logo_only %}
|
||||
<a href="{{ pathto(master_doc) }}">
|
||||
{% else %}
|
||||
<a href="{{ pathto(master_doc) }}" class="icon icon-home"> {{ project }}
|
||||
{% endif %}
|
||||
|
||||
{% if logo %}
|
||||
{# Not strictly valid HTML, but it's the only way to display/scale
|
||||
it properly, without weird scripting or heaps of work
|
||||
#}
|
||||
<img src="{{ pathto('_static/' + logo, 1) }}" class="logo" alt="{{ _('Logo') }}"/>
|
||||
{% endif %}
|
||||
</a>
|
||||
|
||||
{% if theme_display_version %}
|
||||
{%- set nav_version = version %}
|
||||
{% if READTHEDOCS and current_version %}
|
||||
{%- set nav_version = current_version %}
|
||||
{% endif %}
|
||||
{% if nav_version %}
|
||||
<div class="version">
|
||||
{{ nav_version }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% include "searchbox.html" %}
|
||||
|
||||
{% endblock %}
|
||||
</div>
|
||||
|
||||
{% block navigation %}
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
{% block menu %}
|
||||
{#
|
||||
The singlehtml builder doesn't handle this toctree call when the
|
||||
toctree is empty. Skip building this for now.
|
||||
#}
|
||||
{% if 'singlehtml' not in builder %}
|
||||
{% set global_toc = toctree(maxdepth=theme_navigation_depth|int,
|
||||
collapse=theme_collapse_navigation|tobool,
|
||||
includehidden=theme_includehidden|tobool,
|
||||
titles_only=theme_titles_only|tobool) %}
|
||||
{% endif %}
|
||||
{% if global_toc %}
|
||||
{{ global_toc }}
|
||||
{% else %}
|
||||
<!-- Local TOC -->
|
||||
<div class="local-toc">{{ toc }}</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
{# MOBILE NAV, TRIGGLES SIDE NAV ON TOGGLE #}
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
{% block mobile_nav %}
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="{{ pathto(master_doc) }}">{{ project }}</a>
|
||||
{% endblock %}
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
{%- block content %}
|
||||
{% if theme_style_external_links|tobool %}
|
||||
<div class="rst-content style-external-links">
|
||||
{% else %}
|
||||
<div class="rst-content">
|
||||
{% endif %}
|
||||
{% include "breadcrumbs.html" %}
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
{%- block document %}
|
||||
<div itemprop="articleBody">
|
||||
{% block body %}{% endblock %}
|
||||
</div>
|
||||
{% if self.comments()|trim %}
|
||||
<div class="articleComments">
|
||||
{% block comments %}{% endblock %}
|
||||
</div>
|
||||
{% endif%}
|
||||
</div>
|
||||
{%- endblock %}
|
||||
{% include "footer.html" %}
|
||||
</div>
|
||||
{%- endblock %}
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
{% include "versions.html" %}
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable({{ 'true' if theme_sticky_navigation|tobool else 'false' }});
|
||||
});
|
||||
</script>
|
||||
|
||||
{# Do not conflict with RTD insertion of analytics script #}
|
||||
{% if not READTHEDOCS %}
|
||||
{% if theme_analytics_id %}
|
||||
<!-- Theme Analytics -->
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
||||
|
||||
ga('create', '{{ theme_analytics_id }}', 'auto');
|
||||
{% if theme_analytics_anonymize_ip|tobool %}
|
||||
ga('set', 'anonymizeIp', true);
|
||||
{% endif %}
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{%- block footer %} {% endblock %}
|
||||
|
||||
</body>
|
||||
</html>
|
Binary file not shown.
@ -0,0 +1,142 @@
|
||||
# English translations for sphinx_rtd_theme.
|
||||
# Copyright (C) 2019 ORGANIZATION
|
||||
# This file is distributed under the same license as the sphinx_rtd_theme
|
||||
# project.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
|
||||
#
|
||||
# Translators:
|
||||
# Tom Kunze <transifex.com@tomabrafix.de>, 2019
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
|
||||
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
|
||||
"Last-Translator: Tom Kunze <transifex.com@tomabrafix.de>, 2019\n"
|
||||
"Language-Team: German (https://www.transifex.com/readthedocs/teams/101354/de/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.8.0\n"
|
||||
"Language: de\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
|
||||
msgid "Edit on GitHub"
|
||||
msgstr "Auf GitHub bearbeiten"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
|
||||
msgid "Edit on Bitbucket"
|
||||
msgstr "Auf Bitbucket bearbeiten"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
|
||||
msgid "Edit on GitLab"
|
||||
msgstr "Auf GitLab bearbeiten"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
|
||||
msgid "View page source"
|
||||
msgstr "Quelltext anzeigen"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
|
||||
msgid "Next"
|
||||
msgstr "Weiter"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
|
||||
msgid "Previous"
|
||||
msgstr "Zurück"
|
||||
|
||||
#. Build is a noun, not a verb
|
||||
#: sphinx_rtd_theme/footer.html:29
|
||||
msgid "Build"
|
||||
msgstr "Build"
|
||||
|
||||
#: sphinx_rtd_theme/footer.html:40
|
||||
#, python-format
|
||||
msgid "Last updated on %(last_updated)s."
|
||||
msgstr "Zuletzt aktualisiert am %(last_updated)s."
|
||||
|
||||
#. the variable "sphinx_web" is a link to the Sphinx project documentation
|
||||
#. with
|
||||
#. the text "Sphinx"
|
||||
#: sphinx_rtd_theme/footer.html:52
|
||||
#, python-format
|
||||
msgid "Built with %(sphinx_web)s using a"
|
||||
msgstr "Erstellt mit %(sphinx_web)s mit einem"
|
||||
|
||||
#. this is always used as "provided by Read the Docs", and should not imply
|
||||
#. Read the Docs is an author of the generated documentation.
|
||||
#: sphinx_rtd_theme/footer.html:56
|
||||
#, python-format
|
||||
msgid "provided by %(readthedocs_web)s"
|
||||
msgstr "bereitgestellt von %(readthedocs_web)s"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:85
|
||||
#, python-format
|
||||
msgid "Search within %(docstitle)s"
|
||||
msgstr "%(docstitle)s durchsuchen"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:93
|
||||
msgid "About these documents"
|
||||
msgstr "Über diese Dokumentation"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:96
|
||||
msgid "Index"
|
||||
msgstr "Index"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
|
||||
msgid "Search"
|
||||
msgstr "Suche"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:102
|
||||
msgid "Copyright"
|
||||
msgstr "Copyright"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:134
|
||||
msgid "Logo"
|
||||
msgstr "Logo"
|
||||
|
||||
#: sphinx_rtd_theme/search.html:31
|
||||
msgid "Please activate JavaScript to enable the search functionality."
|
||||
msgstr "Bitte aktiviere JavaScript, um die Suchfunktion zu nutzen."
|
||||
|
||||
#. Search is a noun, not a verb
|
||||
#: sphinx_rtd_theme/search.html:39
|
||||
msgid "Search Results"
|
||||
msgstr "Suchergebnisse"
|
||||
|
||||
#: sphinx_rtd_theme/search.html:41
|
||||
msgid ""
|
||||
"Your search did not match any documents. Please make sure that all words are"
|
||||
" spelled correctly and that you've selected enough categories."
|
||||
msgstr ""
|
||||
"Es wurden keine mit deiner Suchanfrage übereinstimmenden Dokumente gefunden."
|
||||
" Achte darauf, dass alle Wörter richtig geschrieben sind und dass genug "
|
||||
"Kategorien ausgewählt sind."
|
||||
|
||||
#: sphinx_rtd_theme/searchbox.html:4
|
||||
msgid "Search docs"
|
||||
msgstr "Dokumentation durchsuchen"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:11
|
||||
msgid "Versions"
|
||||
msgstr "Versionen"
|
||||
|
||||
#. The phrase "Read the Docs" is not translated
|
||||
#: sphinx_rtd_theme/versions.html:24
|
||||
msgid "On Read the Docs"
|
||||
msgstr "Auf Read the Docs"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:26
|
||||
msgid "Project Home"
|
||||
msgstr "Projektübersicht"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:29
|
||||
msgid "Builds"
|
||||
msgstr "Builds"
|
||||
|
||||
#~ msgid "Docs"
|
||||
#~ msgstr "Dokumentation"
|
||||
|
||||
#~ msgid "Free document hosting provided by"
|
||||
#~ msgstr "Kostenloses Dokumentationen-Hosting zur Verfügung gestellt von"
|
Binary file not shown.
@ -0,0 +1,164 @@
|
||||
# English translations for sphinx_rtd_theme.
|
||||
# Copyright (C) 2019 ORGANIZATION
|
||||
# This file is distributed under the same license as the sphinx_rtd_theme
|
||||
# project.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
|
||||
"PO-Revision-Date: 2019-07-16 15:43-0600\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: en\n"
|
||||
"Language-Team: en <LL@li.org>\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.8.0\n"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
|
||||
msgid "Edit on GitHub"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
|
||||
msgid "Edit on Bitbucket"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
|
||||
msgid "Edit on GitLab"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
|
||||
msgid "View page source"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/footer.html:20
|
||||
#, python-format
|
||||
msgid "© <a href=\"%(path)s\">Copyright</a> %(copyright)s."
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/footer.html:22
|
||||
#, python-format
|
||||
msgid "© Copyright %(copyright)s."
|
||||
msgstr ""
|
||||
|
||||
#. Build is a noun, not a verb
|
||||
#: sphinx_rtd_theme/footer.html:29
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
#. the phrase "revision" comes from Git, referring to a commit
|
||||
#: sphinx_rtd_theme/footer.html:35
|
||||
msgid "Revision"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/footer.html:40
|
||||
#, python-format
|
||||
msgid "Last updated on %(last_updated)s."
|
||||
msgstr ""
|
||||
|
||||
#. the variable "sphinx_web" is a link to the Sphinx project documentation with
|
||||
#. the text "Sphinx"
|
||||
#: sphinx_rtd_theme/footer.html:52
|
||||
#, python-format
|
||||
msgid "Built with %(sphinx_web)s using a"
|
||||
msgstr ""
|
||||
|
||||
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
|
||||
#. generated documenation
|
||||
#: sphinx_rtd_theme/footer.html:54
|
||||
msgid "theme"
|
||||
msgstr ""
|
||||
|
||||
#. this is always used as "provided by Read the Docs", and should not imply
|
||||
#. Read the Docs is an author of the generated documentation.
|
||||
#: sphinx_rtd_theme/footer.html:56
|
||||
#, python-format
|
||||
msgid "provided by %(readthedocs_web)s"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:85
|
||||
#, python-format
|
||||
msgid "Search within %(docstitle)s"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:93
|
||||
msgid "About these documents"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:96
|
||||
msgid "Index"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:102
|
||||
msgid "Copyright"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:134
|
||||
msgid "Logo"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/search.html:31
|
||||
msgid "Please activate JavaScript to enable the search functionality."
|
||||
msgstr ""
|
||||
|
||||
#. Search is a noun, not a verb
|
||||
#: sphinx_rtd_theme/search.html:39
|
||||
msgid "Search Results"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/search.html:41
|
||||
msgid ""
|
||||
"Your search did not match any documents. Please make sure that all words "
|
||||
"are spelled correctly and that you've selected enough categories."
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/searchbox.html:4
|
||||
msgid "Search docs"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:11
|
||||
msgid "Versions"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:17
|
||||
msgid "Downloads"
|
||||
msgstr ""
|
||||
|
||||
#. The phrase "Read the Docs" is not translated
|
||||
#: sphinx_rtd_theme/versions.html:24
|
||||
msgid "On Read the Docs"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:26
|
||||
msgid "Project Home"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:29
|
||||
msgid "Builds"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Docs"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Free document hosting provided by"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Documentation Home"
|
||||
#~ msgstr ""
|
||||
|
Binary file not shown.
@ -0,0 +1,162 @@
|
||||
# English translations for sphinx_rtd_theme.
|
||||
# Copyright (C) 2019 ORGANIZATION
|
||||
# This file is distributed under the same license as the sphinx_rtd_theme
|
||||
# project.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
|
||||
#
|
||||
# Translators:
|
||||
# Anthony <aj@ohess.org>, 2019
|
||||
# Leonardo J. Caballero G. <leonardocaballero@gmail.com>, 2020
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
|
||||
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
|
||||
"Last-Translator: Leonardo J. Caballero G. <leonardocaballero@gmail.com>, 2020\n"
|
||||
"Language-Team: Spanish (https://www.transifex.com/readthedocs/teams/101354/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.8.0\n"
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
|
||||
msgid "Edit on GitHub"
|
||||
msgstr "Editar en GitHub"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
|
||||
msgid "Edit on Bitbucket"
|
||||
msgstr "Editar en Bitbucket"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
|
||||
msgid "Edit on GitLab"
|
||||
msgstr "Editar en GitLab"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
|
||||
msgid "View page source"
|
||||
msgstr "Ver código fuente de la página"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
|
||||
msgid "Next"
|
||||
msgstr "Siguiente"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
|
||||
msgid "Previous"
|
||||
msgstr "Anterior"
|
||||
|
||||
#. Build is a noun, not a verb
|
||||
#: sphinx_rtd_theme/footer.html:29
|
||||
msgid "Build"
|
||||
msgstr "Construido"
|
||||
|
||||
#. the phrase "revision" comes from Git, referring to a commit
|
||||
#: sphinx_rtd_theme/footer.html:35
|
||||
msgid "Revision"
|
||||
msgstr "Revisión"
|
||||
|
||||
#: sphinx_rtd_theme/footer.html:40
|
||||
#, python-format
|
||||
msgid "Last updated on %(last_updated)s."
|
||||
msgstr "Actualizado por última vez en %(last_updated)s."
|
||||
|
||||
#. the variable "sphinx_web" is a link to the Sphinx project documentation
|
||||
#. with
|
||||
#. the text "Sphinx"
|
||||
#: sphinx_rtd_theme/footer.html:52
|
||||
#, python-format
|
||||
msgid "Built with %(sphinx_web)s using a"
|
||||
msgstr "Construido con %(sphinx_web)s usando un"
|
||||
|
||||
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
|
||||
#. generated documenation
|
||||
#: sphinx_rtd_theme/footer.html:54
|
||||
msgid "theme"
|
||||
msgstr "tema"
|
||||
|
||||
#. this is always used as "provided by Read the Docs", and should not imply
|
||||
#. Read the Docs is an author of the generated documentation.
|
||||
#: sphinx_rtd_theme/footer.html:56
|
||||
#, python-format
|
||||
msgid "provided by %(readthedocs_web)s"
|
||||
msgstr "proporcionado por %(readthedocs_web)s"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:85
|
||||
#, python-format
|
||||
msgid "Search within %(docstitle)s"
|
||||
msgstr "Buscar en %(docstitle)s"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:93
|
||||
msgid "About these documents"
|
||||
msgstr "Sobre esta documentación"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:96
|
||||
msgid "Index"
|
||||
msgstr "Índice"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
|
||||
msgid "Search"
|
||||
msgstr "Búsqueda"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:102
|
||||
msgid "Copyright"
|
||||
msgstr "Derechos de autor"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:134
|
||||
msgid "Logo"
|
||||
msgstr "Logotipo"
|
||||
|
||||
#: sphinx_rtd_theme/search.html:31
|
||||
msgid "Please activate JavaScript to enable the search functionality."
|
||||
msgstr ""
|
||||
"Por favor, active JavaScript para habilitar la funcionalidad de búsqueda."
|
||||
|
||||
#. Search is a noun, not a verb
|
||||
#: sphinx_rtd_theme/search.html:39
|
||||
msgid "Search Results"
|
||||
msgstr "Resultados de la búsqueda"
|
||||
|
||||
#: sphinx_rtd_theme/search.html:41
|
||||
msgid ""
|
||||
"Your search did not match any documents. Please make sure that all words are"
|
||||
" spelled correctly and that you've selected enough categories."
|
||||
msgstr ""
|
||||
"Su búsqueda no coincide con ningún documento. Por favor, asegúrese de que "
|
||||
"todas las palabras estén correctamente escritas y que usted haya "
|
||||
"seleccionado las suficientes categorías."
|
||||
|
||||
#: sphinx_rtd_theme/searchbox.html:4
|
||||
msgid "Search docs"
|
||||
msgstr "Buscar documentos"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:11
|
||||
msgid "Versions"
|
||||
msgstr "Versiones"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:17
|
||||
msgid "Downloads"
|
||||
msgstr "Descargas"
|
||||
|
||||
#. The phrase "Read the Docs" is not translated
|
||||
#: sphinx_rtd_theme/versions.html:24
|
||||
msgid "On Read the Docs"
|
||||
msgstr "En Read the Docs"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:26
|
||||
msgid "Project Home"
|
||||
msgstr "Página de Proyecto"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:29
|
||||
msgid "Builds"
|
||||
msgstr "Construcciones"
|
||||
|
||||
#~ msgid "Docs"
|
||||
#~ msgstr "Documentos"
|
||||
|
||||
#~ msgid "Free document hosting provided by"
|
||||
#~ msgstr "Alojamiento gratuito de documentos proporcionado por"
|
||||
|
||||
#~ msgid "Documentation Home"
|
||||
#~ msgstr "Inicio de Documentación"
|
Binary file not shown.
@ -0,0 +1,153 @@
|
||||
# English translations for sphinx_rtd_theme.
|
||||
# Copyright (C) 2019 ORGANIZATION
|
||||
# This file is distributed under the same license as the sphinx_rtd_theme
|
||||
# project.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
|
||||
#
|
||||
# Translators:
|
||||
# Anthony <aj@ohess.org>, 2020
|
||||
# Ivar Smolin <okul@linux.ee>, 2020
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
|
||||
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
|
||||
"Last-Translator: Ivar Smolin <okul@linux.ee>, 2020\n"
|
||||
"Language-Team: Estonian (https://www.transifex.com/readthedocs/teams/101354/et/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.8.0\n"
|
||||
"Language: et\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
|
||||
msgid "Edit on GitHub"
|
||||
msgstr "Muuda GitHubis"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
|
||||
msgid "Edit on Bitbucket"
|
||||
msgstr "Muuda Bitbucketis"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
|
||||
msgid "Edit on GitLab"
|
||||
msgstr "Muuda GitLabis"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
|
||||
msgid "View page source"
|
||||
msgstr "Vaata lehe lähtekoodi"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
|
||||
msgid "Next"
|
||||
msgstr "Järgmine"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
|
||||
msgid "Previous"
|
||||
msgstr "Eelmine"
|
||||
|
||||
#. Build is a noun, not a verb
|
||||
#: sphinx_rtd_theme/footer.html:29
|
||||
msgid "Build"
|
||||
msgstr "Ehitus"
|
||||
|
||||
#. the phrase "revision" comes from Git, referring to a commit
|
||||
#: sphinx_rtd_theme/footer.html:35
|
||||
msgid "Revision"
|
||||
msgstr "Redaktsioon"
|
||||
|
||||
#: sphinx_rtd_theme/footer.html:40
|
||||
#, python-format
|
||||
msgid "Last updated on %(last_updated)s."
|
||||
msgstr "Viimati uuendatud %(last_updated)s."
|
||||
|
||||
#. the variable "sphinx_web" is a link to the Sphinx project documentation
|
||||
#. with
|
||||
#. the text "Sphinx"
|
||||
#: sphinx_rtd_theme/footer.html:52
|
||||
#, python-format
|
||||
msgid "Built with %(sphinx_web)s using a"
|
||||
msgstr "Ehitatud %(sphinx_web)s'iga,"
|
||||
|
||||
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
|
||||
#. generated documenation
|
||||
#: sphinx_rtd_theme/footer.html:54
|
||||
msgid "theme"
|
||||
msgstr "kujundusteema"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:85
|
||||
#, python-format
|
||||
msgid "Search within %(docstitle)s"
|
||||
msgstr "Otsi dokumendist %(docstitle)s"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:93
|
||||
msgid "About these documents"
|
||||
msgstr "Nende dokumentide kirjeldused"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:96
|
||||
msgid "Index"
|
||||
msgstr "Indeks"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
|
||||
msgid "Search"
|
||||
msgstr "Otsing"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:102
|
||||
msgid "Copyright"
|
||||
msgstr "Autoriõigus"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:134
|
||||
msgid "Logo"
|
||||
msgstr "Logo"
|
||||
|
||||
#: sphinx_rtd_theme/search.html:31
|
||||
msgid "Please activate JavaScript to enable the search functionality."
|
||||
msgstr "Otsimisfunktsiooni lubamiseks aktiveeri palun JavaScript"
|
||||
|
||||
#. Search is a noun, not a verb
|
||||
#: sphinx_rtd_theme/search.html:39
|
||||
msgid "Search Results"
|
||||
msgstr "Otsingu tulemused"
|
||||
|
||||
#: sphinx_rtd_theme/search.html:41
|
||||
msgid ""
|
||||
"Your search did not match any documents. Please make sure that all words are"
|
||||
" spelled correctly and that you've selected enough categories."
|
||||
msgstr ""
|
||||
"Sinu otsingule ei vastanud ükski dokument. Palun veendu, et kõik sisestatud "
|
||||
"sõnad on õigesti kirjutatud ja sa oled valikud piisaval hulgal kategooriaid."
|
||||
|
||||
#: sphinx_rtd_theme/searchbox.html:4
|
||||
msgid "Search docs"
|
||||
msgstr "Otsi dokumente"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:11
|
||||
msgid "Versions"
|
||||
msgstr "Versioonid"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:17
|
||||
msgid "Downloads"
|
||||
msgstr "Allalaadimised"
|
||||
|
||||
#. The phrase "Read the Docs" is not translated
|
||||
#: sphinx_rtd_theme/versions.html:24
|
||||
msgid "On Read the Docs"
|
||||
msgstr "Saidil Read the Docs"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:26
|
||||
msgid "Project Home"
|
||||
msgstr "Projekti kodu"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:29
|
||||
msgid "Builds"
|
||||
msgstr "Ehitused"
|
||||
|
||||
#~ msgid "Docs"
|
||||
#~ msgstr "Dokumendid"
|
||||
|
||||
#~ msgid "Free document hosting provided by"
|
||||
#~ msgstr "Dokumentatsiooni majutab tasuta"
|
||||
|
||||
#~ msgid "Documentation Home"
|
||||
#~ msgstr "Dokumentatsiooni kodu"
|
Binary file not shown.
@ -0,0 +1,153 @@
|
||||
# English translations for sphinx_rtd_theme.
|
||||
# Copyright (C) 2019 ORGANIZATION
|
||||
# This file is distributed under the same license as the sphinx_rtd_theme
|
||||
# project.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
|
||||
#
|
||||
# Translators:
|
||||
# Radina Matic <radina.matic@gmail.com>, 2020
|
||||
# Anthony <aj@ohess.org>, 2020
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
|
||||
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
|
||||
"Last-Translator: Anthony <aj@ohess.org>, 2020\n"
|
||||
"Language-Team: French (https://www.transifex.com/readthedocs/teams/101354/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.8.0\n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
|
||||
msgid "Edit on GitHub"
|
||||
msgstr "Éditer sur GitHub"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
|
||||
msgid "Edit on Bitbucket"
|
||||
msgstr "Éditer sur Bitbucket"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
|
||||
msgid "Edit on GitLab"
|
||||
msgstr "Éditer sur GitLab"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
|
||||
msgid "View page source"
|
||||
msgstr "Afficher la source de la page"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
|
||||
msgid "Next"
|
||||
msgstr "Suivant"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
|
||||
msgid "Previous"
|
||||
msgstr "Précédent"
|
||||
|
||||
#. Build is a noun, not a verb
|
||||
#: sphinx_rtd_theme/footer.html:29
|
||||
msgid "Build"
|
||||
msgstr "Compilation"
|
||||
|
||||
#. the phrase "revision" comes from Git, referring to a commit
|
||||
#: sphinx_rtd_theme/footer.html:35
|
||||
msgid "Revision"
|
||||
msgstr "Révision"
|
||||
|
||||
#: sphinx_rtd_theme/footer.html:40
|
||||
#, python-format
|
||||
msgid "Last updated on %(last_updated)s."
|
||||
msgstr "Dernière mise à jour le %(last_updated)s."
|
||||
|
||||
#. the variable "sphinx_web" is a link to the Sphinx project documentation
|
||||
#. with
|
||||
#. the text "Sphinx"
|
||||
#: sphinx_rtd_theme/footer.html:52
|
||||
#, python-format
|
||||
msgid "Built with %(sphinx_web)s using a"
|
||||
msgstr "Compilé avec %(sphinx_web)s en utilisant un"
|
||||
|
||||
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
|
||||
#. generated documenation
|
||||
#: sphinx_rtd_theme/footer.html:54
|
||||
msgid "theme"
|
||||
msgstr "thème"
|
||||
|
||||
#. this is always used as "provided by Read the Docs", and should not imply
|
||||
#. Read the Docs is an author of the generated documentation.
|
||||
#: sphinx_rtd_theme/footer.html:56
|
||||
#, python-format
|
||||
msgid "provided by %(readthedocs_web)s"
|
||||
msgstr "fourni par %(readthedocs_web)s"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:85
|
||||
#, python-format
|
||||
msgid "Search within %(docstitle)s"
|
||||
msgstr "Rechercher dans %(docstitle)s"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:93
|
||||
msgid "About these documents"
|
||||
msgstr "À propos de cette documentation"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:96
|
||||
msgid "Index"
|
||||
msgstr "Index"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
|
||||
msgid "Search"
|
||||
msgstr "Rechercher"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:102
|
||||
msgid "Copyright"
|
||||
msgstr "Droits d'auteur"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:134
|
||||
msgid "Logo"
|
||||
msgstr "Logo"
|
||||
|
||||
#: sphinx_rtd_theme/search.html:31
|
||||
msgid "Please activate JavaScript to enable the search functionality."
|
||||
msgstr "Activez JavaScript pour accéder à la fonction de recherche."
|
||||
|
||||
#. Search is a noun, not a verb
|
||||
#: sphinx_rtd_theme/search.html:39
|
||||
msgid "Search Results"
|
||||
msgstr "Résultats de la recherche"
|
||||
|
||||
#: sphinx_rtd_theme/search.html:41
|
||||
msgid ""
|
||||
"Your search did not match any documents. Please make sure that all words are"
|
||||
" spelled correctly and that you've selected enough categories."
|
||||
msgstr ""
|
||||
"Votre recherche ne correspond à aucun document. Assurez-vous que tous les "
|
||||
"mots sont correctement orthographiés et que vous avez sélectionné "
|
||||
"suffisamment de catégories."
|
||||
|
||||
#: sphinx_rtd_theme/searchbox.html:4
|
||||
msgid "Search docs"
|
||||
msgstr "Rechercher docs"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:11
|
||||
msgid "Versions"
|
||||
msgstr "Versions"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:17
|
||||
msgid "Downloads"
|
||||
msgstr "Téléchargements"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:26
|
||||
msgid "Project Home"
|
||||
msgstr "Accueil du projet"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:29
|
||||
msgid "Builds"
|
||||
msgstr "Compilations"
|
||||
|
||||
#~ msgid "Docs"
|
||||
#~ msgstr "Docs"
|
||||
|
||||
#~ msgid "Free document hosting provided by"
|
||||
#~ msgstr "Hébergement gratuit de documents fourni par"
|
Binary file not shown.
@ -0,0 +1,156 @@
|
||||
# English translations for sphinx_rtd_theme.
|
||||
# Copyright (C) 2019 ORGANIZATION
|
||||
# This file is distributed under the same license as the sphinx_rtd_theme
|
||||
# project.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
|
||||
#
|
||||
# Translators:
|
||||
# Jesse Tan, 2019
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
|
||||
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
|
||||
"Last-Translator: Jesse Tan, 2019\n"
|
||||
"Language-Team: Dutch (https://www.transifex.com/readthedocs/teams/101354/nl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.8.0\n"
|
||||
"Language: nl\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
|
||||
msgid "Edit on GitHub"
|
||||
msgstr "Bewerk op GitHub"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
|
||||
msgid "Edit on Bitbucket"
|
||||
msgstr "Bewerk op BitBucket"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
|
||||
msgid "Edit on GitLab"
|
||||
msgstr "Bewerk op GitLab"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
|
||||
msgid "View page source"
|
||||
msgstr "Bekijk paginabron"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
|
||||
msgid "Next"
|
||||
msgstr "Volgende"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
|
||||
msgid "Previous"
|
||||
msgstr "Vorige"
|
||||
|
||||
#. Build is a noun, not a verb
|
||||
#: sphinx_rtd_theme/footer.html:29
|
||||
msgid "Build"
|
||||
msgstr "Bouwresultaat"
|
||||
|
||||
#. the phrase "revision" comes from Git, referring to a commit
|
||||
#: sphinx_rtd_theme/footer.html:35
|
||||
msgid "Revision"
|
||||
msgstr "Revisie"
|
||||
|
||||
#: sphinx_rtd_theme/footer.html:40
|
||||
#, python-format
|
||||
msgid "Last updated on %(last_updated)s."
|
||||
msgstr "Laatste update op %(last_updated)s."
|
||||
|
||||
#. the variable "sphinx_web" is a link to the Sphinx project documentation
|
||||
#. with
|
||||
#. the text "Sphinx"
|
||||
#: sphinx_rtd_theme/footer.html:52
|
||||
#, python-format
|
||||
msgid "Built with %(sphinx_web)s using a"
|
||||
msgstr "Gebouwd met %(sphinx_web)s met een"
|
||||
|
||||
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
|
||||
#. generated documenation
|
||||
#: sphinx_rtd_theme/footer.html:54
|
||||
msgid "theme"
|
||||
msgstr "thema"
|
||||
|
||||
#. this is always used as "provided by Read the Docs", and should not imply
|
||||
#. Read the Docs is an author of the generated documentation.
|
||||
#: sphinx_rtd_theme/footer.html:56
|
||||
#, python-format
|
||||
msgid "provided by %(readthedocs_web)s"
|
||||
msgstr "geleverd door %(readthedocs_web)s"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:85
|
||||
#, python-format
|
||||
msgid "Search within %(docstitle)s"
|
||||
msgstr "Zoek binnen %(docstitle)s"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:93
|
||||
msgid "About these documents"
|
||||
msgstr "Over deze documenten"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:96
|
||||
msgid "Index"
|
||||
msgstr "Index"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
|
||||
msgid "Search"
|
||||
msgstr "Zoek"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:102
|
||||
msgid "Copyright"
|
||||
msgstr "Copyright"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:134
|
||||
msgid "Logo"
|
||||
msgstr "Logo"
|
||||
|
||||
#: sphinx_rtd_theme/search.html:31
|
||||
msgid "Please activate JavaScript to enable the search functionality."
|
||||
msgstr "Zet JavaScript aan om de zoekfunctie mogelijk te maken."
|
||||
|
||||
#. Search is a noun, not a verb
|
||||
#: sphinx_rtd_theme/search.html:39
|
||||
msgid "Search Results"
|
||||
msgstr "Zoekresultaten"
|
||||
|
||||
#: sphinx_rtd_theme/search.html:41
|
||||
msgid ""
|
||||
"Your search did not match any documents. Please make sure that all words are"
|
||||
" spelled correctly and that you've selected enough categories."
|
||||
msgstr ""
|
||||
"Zoekpoging vond geen documenten. Zorg ervoor dat alle woorden correct zijn "
|
||||
"gespeld en dat voldoende categorieën zijn geselecteerd."
|
||||
|
||||
#: sphinx_rtd_theme/searchbox.html:4
|
||||
msgid "Search docs"
|
||||
msgstr "Zoek in documentatie"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:11
|
||||
msgid "Versions"
|
||||
msgstr "Versies"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:17
|
||||
msgid "Downloads"
|
||||
msgstr "Downloads"
|
||||
|
||||
#. The phrase "Read the Docs" is not translated
|
||||
#: sphinx_rtd_theme/versions.html:24
|
||||
msgid "On Read the Docs"
|
||||
msgstr "Op Read the Docs"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:26
|
||||
msgid "Project Home"
|
||||
msgstr "Project Home"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:29
|
||||
msgid "Builds"
|
||||
msgstr "Bouwresultaten"
|
||||
|
||||
#~ msgid "Docs"
|
||||
#~ msgstr "Documentatie"
|
||||
|
||||
#~ msgid "Free document hosting provided by"
|
||||
#~ msgstr "Gratis hosting voor documentatie verzorgd door"
|
Binary file not shown.
@ -0,0 +1,158 @@
|
||||
# English translations for sphinx_rtd_theme.
|
||||
# Copyright (C) 2019 ORGANIZATION
|
||||
# This file is distributed under the same license as the sphinx_rtd_theme
|
||||
# project.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
|
||||
#
|
||||
# Translators:
|
||||
# Rafael Fontenelle <rffontenelle@gmail.com>, 2020
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
|
||||
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
|
||||
"Last-Translator: Rafael Fontenelle <rffontenelle@gmail.com>, 2020\n"
|
||||
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/readthedocs/teams/101354/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.8.0\n"
|
||||
"Language: pt_BR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
|
||||
msgid "Edit on GitHub"
|
||||
msgstr "Editar no GitHub"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
|
||||
msgid "Edit on Bitbucket"
|
||||
msgstr "Editar no Bitbucket"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
|
||||
msgid "Edit on GitLab"
|
||||
msgstr "Editar no GitLab"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
|
||||
msgid "View page source"
|
||||
msgstr "Ver código-fonte da página"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
|
||||
msgid "Next"
|
||||
msgstr "Próximo"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
|
||||
msgid "Previous"
|
||||
msgstr "Anterior"
|
||||
|
||||
#. Build is a noun, not a verb
|
||||
#: sphinx_rtd_theme/footer.html:29
|
||||
msgid "Build"
|
||||
msgstr "Compilação"
|
||||
|
||||
#. the phrase "revision" comes from Git, referring to a commit
|
||||
#: sphinx_rtd_theme/footer.html:35
|
||||
msgid "Revision"
|
||||
msgstr "Revisão"
|
||||
|
||||
#: sphinx_rtd_theme/footer.html:40
|
||||
#, python-format
|
||||
msgid "Last updated on %(last_updated)s."
|
||||
msgstr "Última atualização em %(last_updated)s."
|
||||
|
||||
#. the variable "sphinx_web" is a link to the Sphinx project documentation
|
||||
#. with
|
||||
#. the text "Sphinx"
|
||||
#: sphinx_rtd_theme/footer.html:52
|
||||
#, python-format
|
||||
msgid "Built with %(sphinx_web)s using a"
|
||||
msgstr "Compilado com %(sphinx_web)s usando um"
|
||||
|
||||
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
|
||||
#. generated documenation
|
||||
#: sphinx_rtd_theme/footer.html:54
|
||||
msgid "theme"
|
||||
msgstr "tema"
|
||||
|
||||
#. this is always used as "provided by Read the Docs", and should not imply
|
||||
#. Read the Docs is an author of the generated documentation.
|
||||
#: sphinx_rtd_theme/footer.html:56
|
||||
#, python-format
|
||||
msgid "provided by %(readthedocs_web)s"
|
||||
msgstr "fornecido por %(readthedocs_web)s"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:85
|
||||
#, python-format
|
||||
msgid "Search within %(docstitle)s"
|
||||
msgstr "Pesquisar em %(docstitle)s"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:93
|
||||
msgid "About these documents"
|
||||
msgstr "Sobre esses documentos"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:96
|
||||
msgid "Index"
|
||||
msgstr "Índice"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
|
||||
msgid "Search"
|
||||
msgstr "Pesquisar"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:102
|
||||
msgid "Copyright"
|
||||
msgstr "Copyright"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:134
|
||||
msgid "Logo"
|
||||
msgstr "Logo"
|
||||
|
||||
#: sphinx_rtd_theme/search.html:31
|
||||
msgid "Please activate JavaScript to enable the search functionality."
|
||||
msgstr ""
|
||||
"Por favor, ative JavaScript para habilitar a funcionalidade de pesquisa."
|
||||
|
||||
#. Search is a noun, not a verb
|
||||
#: sphinx_rtd_theme/search.html:39
|
||||
msgid "Search Results"
|
||||
msgstr "Resultados da pesquisa"
|
||||
|
||||
#: sphinx_rtd_theme/search.html:41
|
||||
msgid ""
|
||||
"Your search did not match any documents. Please make sure that all words are"
|
||||
" spelled correctly and that you've selected enough categories."
|
||||
msgstr ""
|
||||
"A sua pesquisa não encontrou nenhum documento correspondente. Verifique se "
|
||||
"todas as palavras estão escritas corretamente e se você selecionou "
|
||||
"categorias suficientes."
|
||||
|
||||
#: sphinx_rtd_theme/searchbox.html:4
|
||||
msgid "Search docs"
|
||||
msgstr "Pesquisar documentos"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:11
|
||||
msgid "Versions"
|
||||
msgstr "Versões"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:17
|
||||
msgid "Downloads"
|
||||
msgstr "Downloads"
|
||||
|
||||
#. The phrase "Read the Docs" is not translated
|
||||
#: sphinx_rtd_theme/versions.html:24
|
||||
msgid "On Read the Docs"
|
||||
msgstr "No Read the Docs"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:26
|
||||
msgid "Project Home"
|
||||
msgstr "Página inicial"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:29
|
||||
msgid "Builds"
|
||||
msgstr "Compilações"
|
||||
|
||||
#~ msgid "Docs"
|
||||
#~ msgstr "Docs"
|
||||
|
||||
#~ msgid "Free document hosting provided by"
|
||||
#~ msgstr "Hospedagem de documentos livres fornecida por"
|
Binary file not shown.
@ -0,0 +1,154 @@
|
||||
# Translations template for sphinx_rtd_theme.
|
||||
# Copyright (C) 2021 ORGANIZATION
|
||||
# This file is distributed under the same license as the sphinx_rtd_theme
|
||||
# project.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: sphinx_rtd_theme 0.5.0\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.8.0\n"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
|
||||
msgid "Edit on GitHub"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
|
||||
msgid "Edit on Bitbucket"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
|
||||
msgid "Edit on GitLab"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
|
||||
msgid "View page source"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/footer.html:20
|
||||
#, python-format
|
||||
msgid "© <a href=\"%(path)s\">Copyright</a> %(copyright)s."
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/footer.html:22
|
||||
#, python-format
|
||||
msgid "© Copyright %(copyright)s."
|
||||
msgstr ""
|
||||
|
||||
#. Build is a noun, not a verb
|
||||
#: sphinx_rtd_theme/footer.html:29
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
#. the phrase "revision" comes from Git, referring to a commit
|
||||
#: sphinx_rtd_theme/footer.html:35
|
||||
msgid "Revision"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/footer.html:40
|
||||
#, python-format
|
||||
msgid "Last updated on %(last_updated)s."
|
||||
msgstr ""
|
||||
|
||||
#. the variable "sphinx_web" is a link to the Sphinx project documentation with
|
||||
#. the text "Sphinx"
|
||||
#: sphinx_rtd_theme/footer.html:52
|
||||
#, python-format
|
||||
msgid "Built with %(sphinx_web)s using a"
|
||||
msgstr ""
|
||||
|
||||
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
|
||||
#. generated documenation
|
||||
#: sphinx_rtd_theme/footer.html:54
|
||||
msgid "theme"
|
||||
msgstr ""
|
||||
|
||||
#. this is always used as "provided by Read the Docs", and should not imply
|
||||
#. Read the Docs is an author of the generated documentation.
|
||||
#: sphinx_rtd_theme/footer.html:56
|
||||
#, python-format
|
||||
msgid "provided by %(readthedocs_web)s"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:85
|
||||
#, python-format
|
||||
msgid "Search within %(docstitle)s"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:93
|
||||
msgid "About these documents"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:96
|
||||
msgid "Index"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:102
|
||||
msgid "Copyright"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:134
|
||||
msgid "Logo"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/search.html:31
|
||||
msgid "Please activate JavaScript to enable the search functionality."
|
||||
msgstr ""
|
||||
|
||||
#. Search is a noun, not a verb
|
||||
#: sphinx_rtd_theme/search.html:39
|
||||
msgid "Search Results"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/search.html:41
|
||||
msgid ""
|
||||
"Your search did not match any documents. Please make sure that all words "
|
||||
"are spelled correctly and that you've selected enough categories."
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/searchbox.html:4
|
||||
msgid "Search docs"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:11
|
||||
msgid "Versions"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:17
|
||||
msgid "Downloads"
|
||||
msgstr ""
|
||||
|
||||
#. The phrase "Read the Docs" is not translated
|
||||
#: sphinx_rtd_theme/versions.html:24
|
||||
msgid "On Read the Docs"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:26
|
||||
msgid "Project Home"
|
||||
msgstr ""
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:29
|
||||
msgid "Builds"
|
||||
msgstr ""
|
||||
|
Binary file not shown.
@ -0,0 +1,156 @@
|
||||
# English translations for sphinx_rtd_theme.
|
||||
# Copyright (C) 2019 ORGANIZATION
|
||||
# This file is distributed under the same license as the sphinx_rtd_theme
|
||||
# project.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
|
||||
#
|
||||
# Translators:
|
||||
# Daniel Holmberg <daniel.holmberg97@gmail.com>, 2020
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
|
||||
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
|
||||
"Last-Translator: Daniel Holmberg <daniel.holmberg97@gmail.com>, 2020\n"
|
||||
"Language-Team: Swedish (https://www.transifex.com/readthedocs/teams/101354/sv/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.8.0\n"
|
||||
"Language: sv\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
|
||||
msgid "Edit on GitHub"
|
||||
msgstr "Editera på GitHub"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
|
||||
msgid "Edit on Bitbucket"
|
||||
msgstr "Editera på Bitbucket"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
|
||||
msgid "Edit on GitLab"
|
||||
msgstr "Editera på GitLab"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
|
||||
msgid "View page source"
|
||||
msgstr "Visa sidkälla"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
|
||||
msgid "Next"
|
||||
msgstr "Nästa"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
|
||||
msgid "Previous"
|
||||
msgstr "Tillbaka"
|
||||
|
||||
#. Build is a noun, not a verb
|
||||
#: sphinx_rtd_theme/footer.html:29
|
||||
msgid "Build"
|
||||
msgstr "Bygg"
|
||||
|
||||
#. the phrase "revision" comes from Git, referring to a commit
|
||||
#: sphinx_rtd_theme/footer.html:35
|
||||
msgid "Revision"
|
||||
msgstr "Ändra"
|
||||
|
||||
#: sphinx_rtd_theme/footer.html:40
|
||||
#, python-format
|
||||
msgid "Last updated on %(last_updated)s."
|
||||
msgstr "Senast uppdaterad %(last_updated)s."
|
||||
|
||||
#. the variable "sphinx_web" is a link to the Sphinx project documentation
|
||||
#. with
|
||||
#. the text "Sphinx"
|
||||
#: sphinx_rtd_theme/footer.html:52
|
||||
#, python-format
|
||||
msgid "Built with %(sphinx_web)s using a"
|
||||
msgstr "Gjord med %(sphinx_web)s med hjälp av"
|
||||
|
||||
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
|
||||
#. generated documenation
|
||||
#: sphinx_rtd_theme/footer.html:54
|
||||
msgid "theme"
|
||||
msgstr "tema"
|
||||
|
||||
#. this is always used as "provided by Read the Docs", and should not imply
|
||||
#. Read the Docs is an author of the generated documentation.
|
||||
#: sphinx_rtd_theme/footer.html:56
|
||||
#, python-format
|
||||
msgid "provided by %(readthedocs_web)s"
|
||||
msgstr "erhållet av %(readthedocs_web)s"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:85
|
||||
#, python-format
|
||||
msgid "Search within %(docstitle)s"
|
||||
msgstr "Sök i %(docstitle)s"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:93
|
||||
msgid "About these documents"
|
||||
msgstr "Om dessa dokument"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:96
|
||||
msgid "Index"
|
||||
msgstr "Index"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
|
||||
msgid "Search"
|
||||
msgstr "Sök"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:102
|
||||
msgid "Copyright"
|
||||
msgstr "Upphovsrätt"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:134
|
||||
msgid "Logo"
|
||||
msgstr "Logo"
|
||||
|
||||
#: sphinx_rtd_theme/search.html:31
|
||||
msgid "Please activate JavaScript to enable the search functionality."
|
||||
msgstr ""
|
||||
"Var vänlig och aktivera JavaScript för att möjliggöra sökfunktionaliteten."
|
||||
|
||||
#. Search is a noun, not a verb
|
||||
#: sphinx_rtd_theme/search.html:39
|
||||
msgid "Search Results"
|
||||
msgstr "Sökresultat"
|
||||
|
||||
#: sphinx_rtd_theme/search.html:41
|
||||
msgid ""
|
||||
"Your search did not match any documents. Please make sure that all words are"
|
||||
" spelled correctly and that you've selected enough categories."
|
||||
msgstr ""
|
||||
"Din sökning gav inga träffar. Var vänlig och se till att alla ord är rätt "
|
||||
"stavade och att du har valt tillräckligt många kategorier."
|
||||
|
||||
#: sphinx_rtd_theme/searchbox.html:4
|
||||
msgid "Search docs"
|
||||
msgstr "Sök i dokumentationen"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:11
|
||||
msgid "Versions"
|
||||
msgstr "Versioner"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:17
|
||||
msgid "Downloads"
|
||||
msgstr "Nerladdningar"
|
||||
|
||||
#. The phrase "Read the Docs" is not translated
|
||||
#: sphinx_rtd_theme/versions.html:24
|
||||
msgid "On Read the Docs"
|
||||
msgstr "På Read the Docs"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:26
|
||||
msgid "Project Home"
|
||||
msgstr "Projekt Hem"
|
||||
|
||||
#~ msgid "Docs"
|
||||
#~ msgstr "Dokumentation"
|
||||
|
||||
#~ msgid "Free document hosting provided by"
|
||||
#~ msgstr "Gratis dokumentations hysning erhållen av"
|
||||
|
||||
#~ msgid "Documentation Home"
|
||||
#~ msgstr "Dokumentation Hem"
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,150 @@
|
||||
# English translations for sphinx_rtd_theme.
|
||||
# Copyright (C) 2019 ORGANIZATION
|
||||
# This file is distributed under the same license as the sphinx_rtd_theme
|
||||
# project.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
|
||||
#
|
||||
# Translators:
|
||||
# Anthony <aj@ohess.org>, 2020
|
||||
# 王赛 <wangsai@bootcss.com>, 2020
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
|
||||
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
|
||||
"Last-Translator: 王赛 <wangsai@bootcss.com>, 2020\n"
|
||||
"Language-Team: Chinese (China) (https://www.transifex.com/readthedocs/teams/101354/zh_CN/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.8.0\n"
|
||||
"Language: zh_CN\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
|
||||
msgid "Edit on GitHub"
|
||||
msgstr "在 GitHub 上修改"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
|
||||
msgid "Edit on Bitbucket"
|
||||
msgstr "在 Bitbucket 上修改"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
|
||||
msgid "Edit on GitLab"
|
||||
msgstr "在 GitLab 上修改"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
|
||||
msgid "View page source"
|
||||
msgstr "查看页面源码"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
|
||||
msgid "Next"
|
||||
msgstr "下一页"
|
||||
|
||||
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
|
||||
msgid "Previous"
|
||||
msgstr "上一页"
|
||||
|
||||
#. Build is a noun, not a verb
|
||||
#: sphinx_rtd_theme/footer.html:29
|
||||
msgid "Build"
|
||||
msgstr "构建"
|
||||
|
||||
#: sphinx_rtd_theme/footer.html:40
|
||||
#, python-format
|
||||
msgid "Last updated on %(last_updated)s."
|
||||
msgstr "最后更新时间 %(last_updated)s。"
|
||||
|
||||
#. the variable "sphinx_web" is a link to the Sphinx project documentation
|
||||
#. with
|
||||
#. the text "Sphinx"
|
||||
#: sphinx_rtd_theme/footer.html:52
|
||||
#, python-format
|
||||
msgid "Built with %(sphinx_web)s using a"
|
||||
msgstr "利用 %(sphinx_web)s 构建,使用了 "
|
||||
|
||||
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
|
||||
#. generated documenation
|
||||
#: sphinx_rtd_theme/footer.html:54
|
||||
msgid "theme"
|
||||
msgstr "主题"
|
||||
|
||||
#. this is always used as "provided by Read the Docs", and should not imply
|
||||
#. Read the Docs is an author of the generated documentation.
|
||||
#: sphinx_rtd_theme/footer.html:56
|
||||
#, python-format
|
||||
msgid "provided by %(readthedocs_web)s"
|
||||
msgstr "由 %(readthedocs_web)s开发"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:85
|
||||
#, python-format
|
||||
msgid "Search within %(docstitle)s"
|
||||
msgstr "在 %(docstitle)s中搜索"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:93
|
||||
msgid "About these documents"
|
||||
msgstr "关于此文档"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:96
|
||||
msgid "Index"
|
||||
msgstr "索引"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
|
||||
msgid "Search"
|
||||
msgstr "搜索"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:102
|
||||
msgid "Copyright"
|
||||
msgstr "版权所有"
|
||||
|
||||
#: sphinx_rtd_theme/layout.html:134
|
||||
msgid "Logo"
|
||||
msgstr "Logo"
|
||||
|
||||
#: sphinx_rtd_theme/search.html:31
|
||||
msgid "Please activate JavaScript to enable the search functionality."
|
||||
msgstr "请启用 JavaScript 以便使用搜索功能"
|
||||
|
||||
#. Search is a noun, not a verb
|
||||
#: sphinx_rtd_theme/search.html:39
|
||||
msgid "Search Results"
|
||||
msgstr "搜索结果"
|
||||
|
||||
#: sphinx_rtd_theme/search.html:41
|
||||
msgid ""
|
||||
"Your search did not match any documents. Please make sure that all words are"
|
||||
" spelled correctly and that you've selected enough categories."
|
||||
msgstr "您的搜索没有匹配到任何文档。请确保所有单词拼写正确,并选择了足够多的类别。"
|
||||
|
||||
#: sphinx_rtd_theme/searchbox.html:4
|
||||
msgid "Search docs"
|
||||
msgstr "在文档中搜索"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:11
|
||||
msgid "Versions"
|
||||
msgstr "版本列表"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:17
|
||||
msgid "Downloads"
|
||||
msgstr "下载链接"
|
||||
|
||||
#. The phrase "Read the Docs" is not translated
|
||||
#: sphinx_rtd_theme/versions.html:24
|
||||
msgid "On Read the Docs"
|
||||
msgstr "托管于 Read the Docs"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:26
|
||||
msgid "Project Home"
|
||||
msgstr "项目首页"
|
||||
|
||||
#: sphinx_rtd_theme/versions.html:29
|
||||
msgid "Builds"
|
||||
msgstr "构建"
|
||||
|
||||
#~ msgid "Docs"
|
||||
#~ msgstr "文档"
|
||||
|
||||
#~ msgid "Free document hosting provided by"
|
||||
#~ msgstr "此文档免费托管于"
|
@ -0,0 +1,56 @@
|
||||
{#
|
||||
basic/search.html
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
Template for the search page.
|
||||
|
||||
:copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS.
|
||||
:license: BSD, see https://github.com/sphinx-doc/sphinx/blob/master/LICENSE for details.
|
||||
#}
|
||||
{%- extends "layout.html" %}
|
||||
{% set title = _('Search') %}
|
||||
{% set display_vcs_links = False %}
|
||||
{%- block scripts %}
|
||||
{{ super() }}
|
||||
<script type="text/javascript" src="{{ pathto('_static/searchtools.js', 1) }}"></script>
|
||||
<script type="text/javascript" src="{{ pathto('_static/language_data.js', 1) }}"></script>
|
||||
{%- endblock %}
|
||||
{% block footer %}
|
||||
<script type="text/javascript">
|
||||
jQuery(function() { Search.loadIndex("{{ pathto('searchindex.js', 1) }}"); });
|
||||
</script>
|
||||
{# this is used when loading the search index using $.ajax fails,
|
||||
such as on Chrome for documents on localhost #}
|
||||
<script type="text/javascript" id="searchindexloader"></script>
|
||||
{{ super() }}
|
||||
{% endblock %}
|
||||
{% block body %}
|
||||
<noscript>
|
||||
<div id="fallback" class="admonition warning">
|
||||
<p class="last">
|
||||
{% trans trimmed %}Please activate JavaScript to enable the search
|
||||
functionality.{% endtrans %}
|
||||
</p>
|
||||
</div>
|
||||
</noscript>
|
||||
|
||||
{% if search_performed %}
|
||||
{# Translators: Search is a noun, not a verb #}
|
||||
<h2>{{ _('Search Results') }}</h2>
|
||||
{% if not search_results %}
|
||||
<p>{{ _('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.') }}</p>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<div id="search-results">
|
||||
{% if search_results %}
|
||||
<ul>
|
||||
{% for href, caption, context in search_results %}
|
||||
<li>
|
||||
<a href="{{ pathto(item.href) }}">{{ caption }}</a>
|
||||
<p class="context">{{ context|e }}</p>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
@ -0,0 +1,9 @@
|
||||
{%- if 'singlehtml' not in builder %}
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="{{ pathto('search') }}" method="get">
|
||||
<input type="text" name="q" placeholder="{{ _('Search docs') }}" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
{%- endif %}
|
@ -0,0 +1 @@
|
||||
.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 434 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
||||
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=4)}({4:function(e,t,r){}});
|
@ -0,0 +1,4 @@
|
||||
/**
|
||||
* @preserve HTML5 Shiv 3.7.3-pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
||||
*/
|
||||
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=y.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=y.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),y.elements=c+" "+a,j(b)}function f(a){var b=x[a[v]];return b||(b={},w++,a[v]=w,x[w]=b),b}function g(a,c,d){if(c||(c=b),q)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():u.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||t.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),q)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return y.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(y,b.frag)}function j(a){a||(a=b);var d=f(a);return!y.shivCSS||p||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),q||i(a,d),a}function k(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(l(b)));return g}function l(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(A+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function m(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+A+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function n(a){for(var b=a.length;b--;)a[b].removeNode()}function o(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,e,g=f(a),h=a.namespaces,i=a.parentWindow;return!B||a.printShived?a:("undefined"==typeof h[A]&&h.add(A),i.attachEvent("onbeforeprint",function(){b();for(var f,g,h,i=a.styleSheets,j=[],l=i.length,n=Array(l);l--;)n[l]=i[l];for(;h=n.pop();)if(!h.disabled&&z.test(h.media)){try{f=h.imports,g=f.length}catch(o){g=0}for(l=0;g>l;l++)n.push(f[l]);try{j.push(h.cssText)}catch(o){}}j=m(j.reverse().join("")),e=k(a),d=c(a,j)}),i.attachEvent("onafterprint",function(){n(e),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var p,q,r="3.7.3",s=a.html5||{},t=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,v="_html5shiv",w=0,x={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",p="hidden"in a,q=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){p=!0,q=!0}}();var y={elements:s.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:r,shivCSS:s.shivCSS!==!1,supportsUnknownElements:q,shivMethods:s.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=y,j(b);var z=/^$|\b(?:all|print)\b/,A="html5shiv",B=!q&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();y.type+=" print",y.shivPrint=o,o(b),"object"==typeof module&&module.exports&&(module.exports=y)}("undefined"!=typeof window?window:this,document);
|
@ -0,0 +1,4 @@
|
||||
/**
|
||||
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
||||
*/
|
||||
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3-pre",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document);
|
@ -0,0 +1 @@
|
||||
!function(n){var e={};function t(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return n[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=n,t.c=e,t.d=function(n,e,i){t.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:i})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,e){if(1&e&&(n=t(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var i=Object.create(null);if(t.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var o in n)t.d(i,o,function(e){return n[e]}.bind(null,o));return i},t.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(e,"a",e),e},t.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},t.p="",t(t.s=0)}([function(n,e,t){t(1),n.exports=t(3)},function(n,e,t){(function(){var e="undefined"!=typeof window?window.jQuery:t(2);n.exports.ThemeNav={navBar:null,win:null,winScroll:!1,winResize:!1,linkScroll:!1,winPosition:0,winHeight:null,docHeight:null,isRunning:!1,enable:function(n){var t=this;void 0===n&&(n=!0),t.isRunning||(t.isRunning=!0,e((function(e){t.init(e),t.reset(),t.win.on("hashchange",t.reset),n&&t.win.on("scroll",(function(){t.linkScroll||t.winScroll||(t.winScroll=!0,requestAnimationFrame((function(){t.onScroll()})))})),t.win.on("resize",(function(){t.winResize||(t.winResize=!0,requestAnimationFrame((function(){t.onResize()})))})),t.onResize()})))},enableSticky:function(){this.enable(!0)},init:function(n){n(document);var e=this;this.navBar=n("div.wy-side-scroll:first"),this.win=n(window),n(document).on("click","[data-toggle='wy-nav-top']",(function(){n("[data-toggle='wy-nav-shift']").toggleClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift")})).on("click",".wy-menu-vertical .current ul li a",(function(){var t=n(this);n("[data-toggle='wy-nav-shift']").removeClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift"),e.toggleCurrent(t),e.hashChange()})).on("click","[data-toggle='rst-current-version']",(function(){n("[data-toggle='rst-versions']").toggleClass("shift-up")})),n("table.docutils:not(.field-list,.footnote,.citation)").wrap("<div class='wy-table-responsive'></div>"),n("table.docutils.footnote").wrap("<div class='wy-table-responsive footnote'></div>"),n("table.docutils.citation").wrap("<div class='wy-table-responsive citation'></div>"),n(".wy-menu-vertical ul").not(".simple").siblings("a").each((function(){var t=n(this);expand=n('<span class="toctree-expand"></span>'),expand.on("click",(function(n){return e.toggleCurrent(t),n.stopPropagation(),!1})),t.prepend(expand)}))},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),t=e.find('[href="'+n+'"]');if(0===t.length){var i=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(t=e.find('[href="#'+i.attr("id")+'"]')).length&&(t=e.find('[href="#"]'))}t.length>0&&($(".wy-menu-vertical .current").removeClass("current"),t.addClass("current"),t.closest("li.toctree-l1").addClass("current"),t.closest("li.toctree-l1").parent().addClass("current"),t.closest("li.toctree-l1").addClass("current"),t.closest("li.toctree-l2").addClass("current"),t.closest("li.toctree-l3").addClass("current"),t.closest("li.toctree-l4").addClass("current"),t.closest("li.toctree-l5").addClass("current"),t[0].scrollIntoView())}catch(n){console.log("Error expanding nav for anchor",n)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,t=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(t),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",(function(){this.linkScroll=!1}))},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current"),e.siblings().find("li.current").removeClass("current"),e.find("> ul li.current").removeClass("current"),e.toggleClass("current")}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:n.exports.ThemeNav,StickyNav:n.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],t=0;t<e.length&&!window.requestAnimationFrame;++t)window.requestAnimationFrame=window[e[t]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[t]+"CancelAnimationFrame"]||window[e[t]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(e,t){var i=(new Date).getTime(),o=Math.max(0,16-(i-n)),r=window.setTimeout((function(){e(i+o)}),o);return n=i+o,r}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(n){clearTimeout(n)})}()}).call(window)},function(n,e){n.exports=jQuery},function(n,e,t){}]);
|
@ -0,0 +1,20 @@
|
||||
[theme]
|
||||
inherit = basic
|
||||
stylesheet = css/theme.css
|
||||
pygments_style = default
|
||||
|
||||
[options]
|
||||
canonical_url =
|
||||
analytics_id =
|
||||
analytics_anonymize_ip = False
|
||||
collapse_navigation = True
|
||||
sticky_navigation = True
|
||||
navigation_depth = 4
|
||||
includehidden = True
|
||||
titles_only =
|
||||
logo_only =
|
||||
display_version = True
|
||||
prev_next_buttons_location = bottom
|
||||
style_external_links = False
|
||||
style_nav_header_background =
|
||||
vcs_pageview_mode =
|
@ -0,0 +1,34 @@
|
||||
{% if READTHEDOCS %}
|
||||
{# Add rst-badge after rst-versions for small badge style. #}
|
||||
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
|
||||
<span class="rst-current-version" data-toggle="rst-current-version">
|
||||
<span class="fa fa-book"> Read the Docs</span>
|
||||
v: {{ current_version }}
|
||||
<span class="fa fa-caret-down"></span>
|
||||
</span>
|
||||
<div class="rst-other-versions">
|
||||
<dl>
|
||||
<dt>{{ _('Versions') }}</dt>
|
||||
{% for slug, url in versions %}
|
||||
<dd><a href="{{ url }}">{{ slug }}</a></dd>
|
||||
{% endfor %}
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>{{ _('Downloads') }}</dt>
|
||||
{% for type, url in downloads %}
|
||||
<dd><a href="{{ url }}">{{ type }}</a></dd>
|
||||
{% endfor %}
|
||||
</dl>
|
||||
<dl>
|
||||
{# Translators: The phrase "Read the Docs" is not translated #}
|
||||
<dt>{{ _('On Read the Docs') }}</dt>
|
||||
<dd>
|
||||
<a href="//{{ PRODUCTION_DOMAIN }}/projects/{{ slug }}/?fromdocs={{ slug }}">{{ _('Project Home') }}</a>
|
||||
</dd>
|
||||
<dd>
|
||||
<a href="//{{ PRODUCTION_DOMAIN }}/builds/{{ slug }}/?fromdocs={{ slug }}">{{ _('Builds') }}</a>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
@ -1,26 +0,0 @@
|
||||
.. pyOpenRPA documentation master file, created by
|
||||
sphinx-quickstart on Sat Dec 19 23:59:00 2020.
|
||||
You can adapt this file completely to your liking, but it should at least
|
||||
contain the root `toctree` directive.
|
||||
|
||||
Welcome to pyOpenRPA's documentation!
|
||||
=====================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Contents:
|
||||
|
||||
|
||||
|
||||
Indices and tables
|
||||
=====================================
|
||||
|
||||
* :ref:`genindex`
|
||||
* :ref:`modindex`
|
||||
* :ref:`search`
|
||||
|
||||
|
||||
pyOpenRPA Orchestrator
|
||||
=====================================
|
||||
.. automodule:: pyOpenRPA.Orchestrator.__Orchestrator__
|
||||
:members:
|
@ -0,0 +1,9 @@
|
||||
************************
|
||||
How to start
|
||||
************************
|
||||
|
||||
Start configuration example
|
||||
|
||||
.. include:: ../../../Orchestrator/OrchestratorSettings.py
|
||||
:literal:
|
||||
|
@ -0,0 +1,81 @@
|
||||
************************
|
||||
Description
|
||||
************************
|
||||
|
||||
pyOpenRPA Orchestrator is the executable process.
|
||||
|
||||
The features of the orchestrator is:
|
||||
- Centralized/decentralized user control interface (applicable and for business users and for technical users). Web based, support desktop, tablet, phone.
|
||||
- Automatized robots control (customized algorithms, robots scheduling)
|
||||
- Source code mega flexibility: Light Orchestrator architecture is good for own customization
|
||||
|
||||
Global settings dict concept
|
||||
##################################
|
||||
pyOpenRPA project is complex tool which consist of several executable modules such as Robot, Orchestrator, Studio,
|
||||
|
||||
Because of module compexity, we use 1 init arg - inGSettings
|
||||
inGSettings is a complex dictionary which has all reqired parameters for the module execution.
|
||||
|
||||
The description of the GSettings you can find in executable module details.
|
||||
|
||||
|
||||
Orchestrator how to configure
|
||||
##################################
|
||||
|
||||
|
||||
To init pyOpenRPA Orchestrator instance use script:
|
||||
|
||||
from pyOpenRPA import Orchestrator # Import orchestrator main
|
||||
gSettings = SettingsTemplate.Create(inModeStr="BASIC") # Create GSettings with basic configuration
|
||||
Orchestrator.Orchestrator(inGSettings=gSettings) # Call the orchestrator def
|
||||
|
||||
gSettings structure
|
||||
|
||||
:ref:`gSettingsTemplate`.
|
||||
|
||||
|
||||
|
||||
Orchestrator architecture
|
||||
##################################
|
||||
Orchestrator has several source code components:
|
||||
- User/robot activity consolidated queue single thread (Processor)
|
||||
- User/robot activity asynchonus many threads (Processor)
|
||||
- Scheduler single thread (main)
|
||||
- RDP keep active many thread
|
||||
- Autocleaner single thread
|
||||
- GUI keep active single thread
|
||||
- HTTP web server single thread (create user socket threads)
|
||||
-
|
||||
|
||||
Below you can find more information about all of the component.
|
||||
|
||||
Component Processor
|
||||
##################################
|
||||
Sync - Append activity list to consolidated processor queue. Execution goes sequency by the activity list order
|
||||
|
||||
Async - Create New thread to execute the activity list
|
||||
|
||||
- Activity list
|
||||
Liast of the activity item
|
||||
|
||||
- Activity item
|
||||
Activity item is universal mechanism to execute different algorythms from any sources.
|
||||
The core feature of the Activity is to call python defs with args and kwargs.
|
||||
If you need to init do some activity you can write some python def, then create Activity item with current def.
|
||||
ATTENTION: In some cases (such as web transmition), when you can't transmit python def as object you can use symbolic names for python defs. It is apply you to init all of you want from the web UI.
|
||||
|
||||
?Why i cant transmit python def from the web
|
||||
Because the WEB space is not the Python executable space. Interaction between it spaces create by JSON protocol. So, we know than JSON apply int, float, str, bool, None, list, dict - that is all.
|
||||
{
|
||||
"Def":"DefAliasTest", # def link or def alias (look gSettings["Processor"]["AliasDefDict"])
|
||||
"ArgList":[1,2,3], # Args list
|
||||
"ArgDict":{"ttt":1,"222":2,"dsd":3}, # Args dictionary
|
||||
"ArgGSettings": None # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
|
||||
"ArgLogger": None # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
|
||||
}# Pay attention! Do not left comma symbol after the end of the dict - it can be interpretated like a turple..
|
||||
|
||||
|
||||
pyOpenRPA Orchestrator
|
||||
##################################
|
||||
.. automodule:: pyOpenRPA.Orchestrator.__Orchestrator__
|
||||
:members:
|
@ -0,0 +1,9 @@
|
||||
.. _gSettingsTemplate:
|
||||
************************
|
||||
gSettings Template
|
||||
************************
|
||||
|
||||
gSettings structure
|
||||
|
||||
.. include:: ../../pyOpenRPA/Orchestrator/SettingsTemplate.py
|
||||
:literal:
|
@ -0,0 +1,11 @@
|
||||
************************
|
||||
Description
|
||||
************************
|
||||
|
||||
pyOpenRPA Robot is the python package.
|
||||
|
||||
|
||||
pyOpenRPA Robot
|
||||
##################################
|
||||
.. automodule:: pyOpenRPA.Robot.UIDesktop
|
||||
:members:
|
@ -0,0 +1,5 @@
|
||||
************************
|
||||
Description
|
||||
************************
|
||||
|
||||
pyOpenRPA Studio is the executable process.
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
# Sphinx build info version 1
|
||||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
||||
config: 9f06a687c8e45b7b9c0f1fdb96244db7
|
||||
config: 428b1a8b711af25fb408c9d4784014f7
|
||||
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
||||
|
@ -0,0 +1,292 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>How to start — pyOpenRPA v1.2.0 documentation</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="Description" href="Orchestrator.html" />
|
||||
<link rel="prev" title="Description" href="../Studio/Studio.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../index.html" class="icon icon-home"> pyOpenRPA
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p class="caption"><span class="caption-text">ROBOT</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Robot/Robot.html">Description</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">STUDIO</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Studio/Studio.html">Description</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">How to start</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Orchestrator.html">Description</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="gSettingsTemplate.html">gSettings Template</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../index.html">pyOpenRPA</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li>How to start</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
|
||||
<a href="../_sources/Orchestrator/HowToStart.rst.txt" rel="nofollow"> View page source</a>
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="section" id="how-to-start">
|
||||
<h1>How to start<a class="headerlink" href="#how-to-start" title="Permalink to this headline">¶</a></h1>
|
||||
<p>Start configuration example</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">psutil</span><span class="o">,</span> <span class="nn">datetime</span><span class="o">,</span> <span class="nn">logging</span><span class="o">,</span> <span class="nn">os</span><span class="o">,</span> <span class="nn">sys</span> <span class="c1"># stdout from logging</span>
|
||||
|
||||
<span class="c1"># Config settings</span>
|
||||
<span class="n">lPyOpenRPASourceFolderPathStr</span> <span class="o">=</span> <span class="sa">r</span><span class="s2">"..\Sources"</span> <span class="c1"># Path for test pyOpenRPA package</span>
|
||||
|
||||
<span class="c1"># INFO Relative/Absolute import see below - after settings init</span>
|
||||
|
||||
<span class="c1"># Template for import CP - Control Panels</span>
|
||||
<span class="c1"># ATTENTION - Pay attention to CP names! Orchestrator is one for the all control panels per one machine</span>
|
||||
|
||||
<span class="c1">## !!! For Absolute import !!!</span>
|
||||
<span class="c1"># sys.path.insert(0,os.path.abspath(os.path.join(r"..\ROBOT\Builds")))</span>
|
||||
<span class="c1"># import pyRobot_CP</span>
|
||||
<span class="c1"># pyRobot_CP.SettingsUpdate(inGSettings=gSettings)</span>
|
||||
|
||||
<span class="c1">## !!! For Relative import !!!</span>
|
||||
<span class="c1"># sys.path.insert(0,os.path.abspath(os.path.join(r"..\ROBOT\Builds")))</span>
|
||||
<span class="c1"># from pyRobot_CP import ControlPanel</span>
|
||||
<span class="c1"># ControlPanel.SettingsUpdate(inGSettings=gSettings)</span>
|
||||
|
||||
<span class="c1"># Operations</span>
|
||||
<span class="k">if</span> <span class="n">lPyOpenRPASourceFolderPathStr</span> <span class="o">!=</span> <span class="s2">""</span><span class="p">:</span> <span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">lPyOpenRPASourceFolderPathStr</span><span class="p">)))</span> <span class="c1"># Path for test pyOpenRPA package</span>
|
||||
<span class="c1"># Start import after config the pyOpenRPA folder</span>
|
||||
<span class="kn">from</span> <span class="nn">pyOpenRPA.Orchestrator</span> <span class="kn">import</span> <span class="n">SettingsTemplate</span> <span class="c1"># Import functionallity</span>
|
||||
|
||||
|
||||
<span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s2">"__main__"</span><span class="p">:</span> <span class="c1"># New init way - allow run as module -m PyOpenRPA.Orchestrator</span>
|
||||
<span class="kn">from</span> <span class="nn">pyOpenRPA</span> <span class="kn">import</span> <span class="n">Orchestrator</span> <span class="c1"># Import orchestrator main</span>
|
||||
<span class="n">gSettings</span> <span class="o">=</span> <span class="n">SettingsTemplate</span><span class="o">.</span><span class="n">Create</span><span class="p">(</span><span class="n">inModeStr</span><span class="o">=</span><span class="s2">"BASIC"</span><span class="p">)</span> <span class="c1"># Create GSettings with basic configuration</span>
|
||||
|
||||
<span class="c1"># TEST Add User ND - Add Login ND to superuser of the Orchestrator</span>
|
||||
<span class="n">lUACClientDict</span> <span class="o">=</span> <span class="n">SettingsTemplate</span><span class="o">.</span><span class="n">__UACClientAdminCreate__</span><span class="p">()</span>
|
||||
<span class="c1"># del lUACClientDict["pyOpenRPADict"]["AdminDict"]["LogViewerBool"]</span>
|
||||
<span class="c1"># del lUACClientDict["pyOpenRPADict"]["AdminDict"]["CMDInputBool"]</span>
|
||||
<span class="c1"># del lUACClientDict["pyOpenRPADict"]["AdminDict"]["ScreenshotViewerBool"]</span>
|
||||
<span class="c1"># del lUACClientDict["pyOpenRPADict"]["AdminDict"]["RestartOrchestratorBool"]</span>
|
||||
<span class="c1"># del lUACClientDict["pyOpenRPADict"]["AdminDict"]["RestartOrchestratorGITPullBool"]</span>
|
||||
<span class="c1"># del lUACClientDict["pyOpenRPADict"]["AdminDict"]["RestartPCBool"]</span>
|
||||
<span class="c1"># del lUACClientDict["pyOpenRPADict"]["RDPKeyDict"]</span>
|
||||
<span class="c1"># del lUACClientDict["pyOpenRPADict"]["AgentKeyDict"]</span>
|
||||
<span class="c1"># del lUACClientDict["pyOpenRPADict"]["CPKeyDict"]</span>
|
||||
<span class="c1">#lUACClientDict["pyOpenRPADict"]["CPKeyDict"]["VersionCheck"]=True</span>
|
||||
<span class="c1">#lUACClientDict["pyOpenRPADict"]["CPKeyDict"]["TEST"]=True</span>
|
||||
<span class="c1">#lUACClientDict["pyOpenRPADict"]["AgentKeyDict"]["DESKTOP----;ND"]=True</span>
|
||||
<span class="n">Orchestrator</span><span class="o">.</span><span class="n">UACUpdate</span><span class="p">(</span><span class="n">inGSettings</span><span class="o">=</span><span class="n">gSettings</span><span class="p">,</span> <span class="n">inADLoginStr</span><span class="o">=</span><span class="s2">"ND"</span><span class="p">,</span> <span class="n">inADStr</span><span class="o">=</span><span class="s2">""</span><span class="p">,</span> <span class="n">inADIsDefaultBool</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">inURLList</span><span class="o">=</span><span class="p">[],</span> <span class="n">inRoleHierarchyAllowedDict</span><span class="o">=</span><span class="n">lUACClientDict</span><span class="p">)</span>
|
||||
<span class="c1"># TEST Add User IMaslov - Add Login IMaslov to superuser of the Orchestrator</span>
|
||||
<span class="n">Orchestrator</span><span class="o">.</span><span class="n">UACUpdate</span><span class="p">(</span><span class="n">inGSettings</span><span class="o">=</span><span class="n">gSettings</span><span class="p">,</span> <span class="n">inADLoginStr</span><span class="o">=</span><span class="s2">"IMaslov"</span><span class="p">,</span> <span class="n">inADStr</span><span class="o">=</span><span class="s2">""</span><span class="p">,</span> <span class="n">inADIsDefaultBool</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">inURLList</span><span class="o">=</span><span class="p">[])</span>
|
||||
<span class="c1"># TEST Add Supertoken for the all access between robots</span>
|
||||
<span class="n">Orchestrator</span><span class="o">.</span><span class="n">UACSuperTokenUpdate</span><span class="p">(</span><span class="n">inGSettings</span><span class="o">=</span><span class="n">gSettings</span><span class="p">,</span> <span class="n">inSuperTokenStr</span><span class="o">=</span><span class="s2">"1992-04-03-0643-ru-b4ff-openrpa52zzz"</span><span class="p">)</span>
|
||||
|
||||
<span class="c1">## !!! For Relative import !!! CP Version Check</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="sa">r</span><span class="s2">""</span><span class="p">)))</span>
|
||||
<span class="kn">from</span> <span class="nn">ControlPanel</span> <span class="kn">import</span> <span class="n">CP_VersionCheck</span>
|
||||
<span class="n">CP_VersionCheck</span><span class="o">.</span><span class="n">SettingsUpdate</span><span class="p">(</span><span class="n">inGSettings</span><span class="o">=</span><span class="n">gSettings</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="n">gSettings</span><span class="p">[</span><span class="s2">"Logger"</span><span class="p">]</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Exception when init CP. See below."</span><span class="p">)</span>
|
||||
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="kn">from</span> <span class="nn">ControlPanel</span> <span class="kn">import</span> <span class="n">CP_Test</span>
|
||||
<span class="n">CP_Test</span><span class="o">.</span><span class="n">SettingsUpdate</span><span class="p">(</span><span class="n">inGSettings</span><span class="o">=</span><span class="n">gSettings</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="n">gSettings</span><span class="p">[</span><span class="s2">"Logger"</span><span class="p">]</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Exception when init CP. See below."</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># Call the orchestrator def</span>
|
||||
<span class="n">Orchestrator</span><span class="o">.</span><span class="n">Orchestrator</span><span class="p">(</span><span class="n">inGSettings</span><span class="o">=</span><span class="n">gSettings</span><span class="p">)</span>
|
||||
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">"!WARNING! Current orchestrator settings do not support old type of the Orchestrator start. Use new Orchestrator type start (see v1.2.0)"</span><span class="p">)</span>
|
||||
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
<a href="Orchestrator.html" class="btn btn-neutral float-right" title="Description" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="../Studio/Studio.html" class="btn btn-neutral float-left" title="Description" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>
|
||||
© Copyright 2020, Ivan Maslov.
|
||||
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,584 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>gSettings Template — pyOpenRPA v1.2.0 documentation</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="prev" title="Description" href="Orchestrator.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../index.html" class="icon icon-home"> pyOpenRPA
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p class="caption"><span class="caption-text">ROBOT</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Robot/Robot.html">Description</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">STUDIO</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Studio/Studio.html">Description</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="HowToStart.html">How to start</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Orchestrator.html">Description</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">gSettings Template</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../index.html">pyOpenRPA</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li>gSettings Template</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
|
||||
<a href="../_sources/Orchestrator/gSettingsTemplate.rst.txt" rel="nofollow"> View page source</a>
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="section" id="gsettings-template">
|
||||
<h1>gSettings Template<a class="headerlink" href="#gsettings-template" title="Permalink to this headline">¶</a></h1>
|
||||
<p>gSettings structure</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">os</span><span class="o">,</span> <span class="nn">logging</span><span class="o">,</span> <span class="nn">datetime</span><span class="o">,</span> <span class="nn">sys</span>
|
||||
|
||||
<span class="c1"># Technical def - return GSettings structure with examples</span>
|
||||
<span class="k">def</span> <span class="nf">__Create__</span><span class="p">():</span>
|
||||
<span class="k">return</span> <span class="p">{</span>
|
||||
<span class="s2">"VersionStr"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="c1"># Will be filled in orchestrator,</span>
|
||||
<span class="s2">"Autocleaner"</span><span class="p">:</span> <span class="p">{</span>
|
||||
<span class="c1"># Some gurbage is collecting in g settings. So you can configure autocleaner to periodically clear gSettings</span>
|
||||
<span class="s2">"IntervalSecFloat"</span><span class="p">:</span> <span class="mf">600.0</span><span class="p">,</span> <span class="c1"># Sec float to periodically clear gsettings</span>
|
||||
<span class="p">},</span>
|
||||
<span class="s2">"Client"</span><span class="p">:</span> <span class="p">{</span> <span class="c1"># Settings about client web orchestrator</span>
|
||||
<span class="s2">"Session"</span><span class="p">:</span> <span class="p">{</span>
|
||||
<span class="c1"># Settings about web session. Session algorythms works only for special requests (URL in ServerSettings)</span>
|
||||
<span class="s2">"LifetimeSecFloat"</span><span class="p">:</span> <span class="mf">600.0</span><span class="p">,</span>
|
||||
<span class="c1"># Client Session lifetime in seconds. after this time server will forget about this client session</span>
|
||||
<span class="s2">"LifetimeRequestSecFloat"</span><span class="p">:</span> <span class="mf">120.0</span><span class="p">,</span> <span class="c1"># 1 client request lifetime in server in seconds</span>
|
||||
<span class="s2">"ControlPanelRefreshIntervalSecFloat"</span><span class="p">:</span> <span class="mf">1.5</span><span class="p">,</span> <span class="c1"># Interval to refresh control panels for session,</span>
|
||||
<span class="s2">"TechnicalSessionGUIDCache"</span><span class="p">:</span> <span class="p">{</span> <span class="c1"># TEchnical cache. Fills when web browser is requesting</span>
|
||||
<span class="c1"># "SessionGUIDStr":{ # Session with some GUID str. On client session guid stored in cookie "SessionGUIDStr"</span>
|
||||
<span class="c1"># "InitDatetime": None, # Datetime when session GUID was created</span>
|
||||
<span class="c1"># "DatasetLast": {</span>
|
||||
<span class="c1"># "ControlPanel": {</span>
|
||||
<span class="c1"># "Data": None, # Struct to check with new iterations. None if starts</span>
|
||||
<span class="c1"># "ReturnBool": False # flag to return, close request and return data as json</span>
|
||||
<span class="c1"># }</span>
|
||||
<span class="c1"># },</span>
|
||||
<span class="c1"># "ClientRequestHandler": None, # Last client request handler</span>
|
||||
<span class="c1"># "UserADStr": None, # User, who connect. None if user is not exists</span>
|
||||
<span class="c1"># "DomainADStr": None, # Domain of the user who connect. None if user is not exists</span>
|
||||
<span class="c1"># }</span>
|
||||
<span class="p">},</span>
|
||||
<span class="p">},</span>
|
||||
<span class="c1"># # # # # # Client... # # # # # # # #</span>
|
||||
<span class="s2">"DumpLogListRefreshIntervalSecFloat"</span><span class="p">:</span> <span class="mf">3.0</span><span class="p">,</span> <span class="c1"># Duration between updates for the Client</span>
|
||||
<span class="s2">"DumpLogListCountInt"</span><span class="p">:</span> <span class="mi">100</span><span class="p">,</span> <span class="c1"># Set the max row for the dump</span>
|
||||
<span class="s2">"DumpLogList"</span><span class="p">:</span> <span class="p">[],</span> <span class="c1"># Will be filled automatically</span>
|
||||
<span class="s2">"DumpLogListHashStr"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="c1"># Will be filled automatically</span>
|
||||
<span class="c1"># # # # # # # # # # # # # # # # # #</span>
|
||||
<span class="p">},</span>
|
||||
<span class="s2">"ServerDict"</span><span class="p">:</span> <span class="p">{</span>
|
||||
<span class="s2">"WorkingDirectoryPathStr"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="c1"># Will be filled automatically</span>
|
||||
<span class="s2">"RequestTimeoutSecFloat"</span><span class="p">:</span> <span class="mi">300</span><span class="p">,</span> <span class="c1"># Time to handle request in seconds</span>
|
||||
<span class="s2">"ListenPort_"</span><span class="p">:</span> <span class="s2">"Порт, по которому можно подключиться к демону"</span><span class="p">,</span>
|
||||
<span class="s2">"ListenPort"</span><span class="p">:</span> <span class="mi">80</span><span class="p">,</span>
|
||||
<span class="s2">"ListenURLList"</span><span class="p">:</span> <span class="p">[</span>
|
||||
<span class="p">{</span>
|
||||
<span class="s2">"Description"</span><span class="p">:</span> <span class="s2">"Local machine test"</span><span class="p">,</span>
|
||||
<span class="s2">"URL_"</span><span class="p">:</span> <span class="s2">"Сетевое расположение сервера демона"</span><span class="p">,</span>
|
||||
<span class="s2">"URL"</span><span class="p">:</span> <span class="s2">""</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">],</span>
|
||||
<span class="s2">"AccessUsers"</span><span class="p">:</span> <span class="p">{</span> <span class="c1"># Default - all URL is blocked</span>
|
||||
<span class="s2">"FlagCredentialsAsk"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="c1"># Turn on Authentication</span>
|
||||
<span class="s2">"RuleDomainUserDict"</span><span class="p">:</span> <span class="p">{</span>
|
||||
<span class="c1"># ("DOMAIN", "USER"): { !!!!! only in upper case !!!!</span>
|
||||
<span class="c1"># "MethodMatchURLBeforeList": [</span>
|
||||
<span class="c1"># {</span>
|
||||
<span class="c1"># "Method":"GET|POST",</span>
|
||||
<span class="c1"># "MatchType":"BeginWith|Contains|Equal|EqualCase",</span>
|
||||
<span class="c1"># "URL":"",</span>
|
||||
<span class="c1"># "FlagAccessDefRequestGlobalAuthenticate": None, #Return bool</span>
|
||||
<span class="c1"># "FlagAccess": True</span>
|
||||
<span class="c1"># }</span>
|
||||
<span class="c1"># ],</span>
|
||||
<span class="c1"># "ControlPanelKeyAllowedList":[], # If empty - all is allowed</span>
|
||||
<span class="c1"># "RoleHierarchyAllowedDict": {</span>
|
||||
<span class="c1"># "Orchestrator":{</span>
|
||||
<span class="c1"># "Controls": {</span>
|
||||
<span class="c1"># "RestartOrchestrator": {}, # Feature to restart orchestrator on virtual machine</span>
|
||||
<span class="c1"># "LookMachineScreenshots": {} # Feature to look machina screenshots</span>
|
||||
<span class="c1"># },</span>
|
||||
<span class="c1"># "RDPActive": { # Robot RDP active module</span>
|
||||
<span class="c1"># "ListRead": {} # Access to read RDP session list</span>
|
||||
<span class="c1"># }</span>
|
||||
<span class="c1"># }</span>
|
||||
<span class="c1"># }</span>
|
||||
<span class="c1"># }</span>
|
||||
<span class="p">},</span>
|
||||
<span class="s2">"RuleMethodMatchURLBeforeList"</span><span class="p">:</span> <span class="p">[</span> <span class="c1"># General MethodMatchURL list (no domain/user)</span>
|
||||
<span class="c1"># {</span>
|
||||
<span class="c1"># "Method":"GET|POST",</span>
|
||||
<span class="c1"># "MatchType":"BeginWith|Contains|Equal|EqualCase",</span>
|
||||
<span class="c1"># "URL":"",</span>
|
||||
<span class="c1"># "FlagAccessDefRequestGlobalAuthenticate": None, #Return bool</span>
|
||||
<span class="c1"># "FlagAccess": True</span>
|
||||
<span class="c1"># }</span>
|
||||
<span class="p">],</span>
|
||||
<span class="s2">"AuthTokensDict"</span><span class="p">:</span> <span class="p">{</span>
|
||||
<span class="c1"># "<AuthToken>":{"User":"", "Domain":"", "TokenDatetime":<Datetime>, "FlagDoNotExpire":True}</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">},</span>
|
||||
<span class="s2">"URLList"</span><span class="p">:</span> <span class="p">[</span> <span class="c1"># List of available URLs with the orchestrator server</span>
|
||||
<span class="c1"># {</span>
|
||||
<span class="c1"># "Method":"GET|POST",</span>
|
||||
<span class="c1"># "URL": "/index", #URL of the request</span>
|
||||
<span class="c1"># "MatchType": "", #"BeginWith|Contains|Equal|EqualCase",</span>
|
||||
<span class="c1"># "ResponseFilePath": "", #Absolute or relative path</span>
|
||||
<span class="c1"># "ResponseFolderPath": "", #Absolute or relative path</span>
|
||||
<span class="c1"># "ResponseContentType": "", #HTTP Content-type</span>
|
||||
<span class="c1"># "ResponseDefRequestGlobal": None #Function with str result</span>
|
||||
<span class="c1"># }</span>
|
||||
<span class="p">{</span>
|
||||
<span class="s2">"Method"</span><span class="p">:</span> <span class="s2">"GET"</span><span class="p">,</span>
|
||||
<span class="s2">"URL"</span><span class="p">:</span> <span class="s2">"/test/"</span><span class="p">,</span> <span class="c1"># URL of the request</span>
|
||||
<span class="s2">"MatchType"</span><span class="p">:</span> <span class="s2">"BeginWith"</span><span class="p">,</span> <span class="c1"># "BeginWith|Contains|Equal|EqualCase",</span>
|
||||
<span class="c1"># "ResponseFilePath": "", #Absolute or relative path</span>
|
||||
<span class="s2">"ResponseFolderPath"</span><span class="p">:</span> <span class="s2">"C:\Abs\Archive\scopeSrcUL\OpenRPA\Orchestrator\Settings"</span><span class="p">,</span>
|
||||
<span class="c1"># Absolute or relative path</span>
|
||||
<span class="c1"># "ResponseContentType": "", #HTTP Content-type</span>
|
||||
<span class="c1"># "ResponseDefRequestGlobal": None #Function with str result</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">],</span>
|
||||
|
||||
<span class="p">},</span>
|
||||
<span class="s2">"OrchestratorStart"</span><span class="p">:</span> <span class="p">{</span>
|
||||
<span class="s2">"DefSettingsUpdatePathList"</span><span class="p">:</span> <span class="p">[],</span>
|
||||
<span class="c1"># List of the .py files which should be loaded before init the algorythms</span>
|
||||
<span class="s2">"ActivityList"</span><span class="p">:</span> <span class="p">[</span>
|
||||
<span class="c1"># {</span>
|
||||
<span class="c1"># "Type": "ProcessStop", #Activity type</span>
|
||||
<span class="c1"># "Name": "OpenRPARobotDaemon.exe", #Process name</span>
|
||||
<span class="c1"># "FlagForce": True, #Force process close</span>
|
||||
<span class="c1"># "User": "%username%" #Empty, user or %username%</span>
|
||||
<span class="c1"># },</span>
|
||||
<span class="c1"># {</span>
|
||||
<span class="c1"># "Type": "ProcessStartIfTurnedOff", #Activity type</span>
|
||||
<span class="c1"># "CheckTaskName": "notepad.exe", #Python function module name</span>
|
||||
<span class="c1"># "Path": "notepad", #Python function name</span>
|
||||
<span class="c1"># "ArgList": [] #Input python function args</span>
|
||||
<span class="c1"># },</span>
|
||||
<span class="c1"># {</span>
|
||||
<span class="c1"># "Type": "RDPSessionConnect", #Activity type - start/connect RDP Session</span>
|
||||
<span class="c1"># "RDPSessionKeyStr": "notepad.exe", #Python function module name</span>
|
||||
<span class="c1"># "RDPConfigurationDict": {}</span>
|
||||
<span class="c1"># },</span>
|
||||
<span class="c1"># {</span>
|
||||
<span class="c1"># "Type": "RDPSessionLogoff", #Activity type - logoff RDP Session</span>
|
||||
<span class="c1"># "RDPSessionKeyStr": "notepad.exe", #Python function module name</span>
|
||||
<span class="c1"># },</span>
|
||||
<span class="c1"># {</span>
|
||||
<span class="c1"># "Type": "RDPSessionDisconnect", #Activity type - disconnect the RDP Session without logoff</span>
|
||||
<span class="c1"># "RDPSessionKeyStr": "notepad.exe", #Python function module name</span>
|
||||
<span class="c1"># },</span>
|
||||
<span class="c1"># {</span>
|
||||
<span class="c1"># "Type": "RDPSessionFileSend", #Activity type - send file to RDP session</span>
|
||||
<span class="c1"># ...</span>
|
||||
<span class="c1"># },</span>
|
||||
<span class="c1"># {</span>
|
||||
<span class="c1"># "Type": "RDPSessionFileRecieve", #Activity type - recieve file from rdp session</span>
|
||||
<span class="c1"># ...</span>
|
||||
<span class="c1"># },</span>
|
||||
<span class="c1"># {</span>
|
||||
<span class="c1"># "Type": "RDPSessionProcessStart", #Activity type -</span>
|
||||
<span class="c1"># ...</span>
|
||||
<span class="c1"># },</span>
|
||||
<span class="p">]</span>
|
||||
<span class="p">},</span>
|
||||
<span class="s2">"SchedulerDict"</span><span class="p">:</span> <span class="p">{</span>
|
||||
<span class="s2">"CheckIntervalSecFloat"</span><span class="p">:</span> <span class="mf">5.0</span><span class="p">,</span> <span class="c1"># Check interval in seconds</span>
|
||||
<span class="s2">"ActivityTimeList"</span><span class="p">:</span> <span class="p">[</span>
|
||||
<span class="c1"># {</span>
|
||||
<span class="c1"># "TimeHH:MMStr": "22:23", # Time [HH:MM] to trigger activity</span>
|
||||
<span class="c1"># "WeekdayList": [0, 1, 2, 3, 4, 5, 6], #List of the weekday index when activity is applicable, Default [0,1,2,3,4,5,6]</span>
|
||||
<span class="c1"># "ActivityList": [</span>
|
||||
<span class="c1"># {</span>
|
||||
<span class="c1"># "Type": "ProcessStart", # Activity type</span>
|
||||
<span class="c1"># "Path": "start", # Executable file path</span>
|
||||
<span class="c1"># "ArgList": ["cmd.exe", "/c", "PIPUpgrade.cmd"] # List of the arguments</span>
|
||||
<span class="c1"># }</span>
|
||||
<span class="c1"># ],</span>
|
||||
<span class="c1"># "GUID": None # Will be filled in Orchestrator automatically - is needed for detect activity completion</span>
|
||||
<span class="c1"># },</span>
|
||||
<span class="p">],</span>
|
||||
<span class="p">},</span>
|
||||
<span class="s2">"ProcessorDict"</span><span class="p">:</span> <span class="p">{</span> <span class="c1"># Has been changed. New general processor (one threaded) v.1.2.0</span>
|
||||
<span class="s2">"ActivityList"</span><span class="p">:</span> <span class="p">[</span> <span class="c1"># List of the activities</span>
|
||||
<span class="c1"># {</span>
|
||||
<span class="c1"># "Def":"DefAliasTest", # def link or def alias (look gSettings["Processor"]["AliasDefDict"])</span>
|
||||
<span class="c1"># "ArgList":[1,2,3], # Args list</span>
|
||||
<span class="c1"># "ArgDict":{"ttt":1,"222":2,"dsd":3} # Args dictionary</span>
|
||||
<span class="c1"># "ArgGSettings": # Name of GSettings attribute: str (ArgDict) or index (for ArgList)</span>
|
||||
<span class="c1"># "ArgLogger": None # Name of GSettings attribute: str (ArgDict) or index (for ArgList)</span>
|
||||
<span class="c1"># },</span>
|
||||
<span class="p">],</span>
|
||||
<span class="s2">"AliasDefDict"</span><span class="p">:</span> <span class="p">{},</span> <span class="c1"># Storage for def with Str alias. To use it see pyOpenRPA.Orchestrator.ControlPanel</span>
|
||||
<span class="s2">"CheckIntervalSecFloat"</span><span class="p">:</span> <span class="mf">1.0</span><span class="p">,</span> <span class="c1"># Interval for check gSettings in ProcessorDict > ActivityList</span>
|
||||
<span class="s2">"ExecuteBool"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="c1"># Flag to execute thread processor</span>
|
||||
<span class="s2">"ThreadIdInt"</span><span class="p">:</span> <span class="kc">None</span> <span class="c1"># Technical field - will be setup when processor init</span>
|
||||
<span class="p">},</span>
|
||||
<span class="s2">"ControlPanelDict"</span><span class="p">:</span> <span class="p">{</span> <span class="c1"># Old structure > CPDict</span>
|
||||
<span class="s2">"RefreshSeconds"</span><span class="p">:</span> <span class="mi">5</span><span class="p">,</span> <span class="c1"># deprecated parameter</span>
|
||||
<span class="s2">"RobotList"</span><span class="p">:</span> <span class="p">[</span>
|
||||
<span class="c1">#{</span>
|
||||
<span class="c1"># "RenderFunction": RenderRobotR01,</span>
|
||||
<span class="c1"># "KeyStr": "TestControlPanelKey"</span>
|
||||
<span class="c1">#}</span>
|
||||
<span class="p">]</span>
|
||||
<span class="p">},</span>
|
||||
<span class="s2">"CPDict"</span><span class="p">:</span> <span class="p">{</span>
|
||||
<span class="c1"># "CPKey": {"HTMLRenderDef":None, "JSONGeneratorDef":None, "JSInitGeneratorDef":None}</span>
|
||||
<span class="p">},</span>
|
||||
<span class="c1"># # # # # # # # # # # # # #</span>
|
||||
<span class="s2">"RobotRDPActive"</span><span class="p">:</span> <span class="p">{</span>
|
||||
<span class="s2">"RDPList"</span><span class="p">:</span> <span class="p">{</span>
|
||||
<span class="c1"># "RDPSessionKey":{</span>
|
||||
<span class="c1"># "Host": "77.77.22.22", # Host address</span>
|
||||
<span class="c1"># "Port": "3389", # RDP Port</span>
|
||||
<span class="c1"># "Login": "test", # Login</span>
|
||||
<span class="c1"># "Password": "test", # Password</span>
|
||||
<span class="c1"># "Screen": {</span>
|
||||
<span class="c1"># "Width": 1680, # Width of the remote desktop in pixels</span>
|
||||
<span class="c1"># "Height": 1050, # Height of the remote desktop in pixels</span>
|
||||
<span class="c1"># # "640x480" or "1680x1050" or "FullScreen". If Resolution not exists set full screen</span>
|
||||
<span class="c1"># "FlagUseAllMonitors": False, # True or False</span>
|
||||
<span class="c1"># "DepthBit": "32" # "32" or "24" or "16" or "15"</span>
|
||||
<span class="c1"># },</span>
|
||||
<span class="c1"># "SharedDriveList": ["c"], # List of the Root sesion hard drives</span>
|
||||
<span class="c1"># ###### Will updated in program ############</span>
|
||||
<span class="c1"># "SessionHex": "", # Hex is created when robot runs</span>
|
||||
<span class="c1"># "SessionIsWindowExistBool": False, # Flag if the RDP window is exist, old name "FlagSessionIsActive". Check every n seconds</span>
|
||||
<span class="c1"># "SessionIsWindowResponsibleBool": False, # Flag if RDP window is responsible (recieve commands). Check every nn seconds. If window is Responsible - window is Exist too</span>
|
||||
<span class="c1"># "SessionIsIgnoredBool": False # Flag to ignore RDP window False - dont ignore, True - ignore</span>
|
||||
<span class="c1"># }</span>
|
||||
<span class="p">},</span>
|
||||
<span class="s2">"ResponsibilityCheckIntervalSec"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>
|
||||
<span class="c1"># Seconds interval when Robot check the RDP responsibility. if None - dont check</span>
|
||||
<span class="s2">"FullScreenRDPSessionKeyStr"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>
|
||||
<span class="c1"># RDPSessionKeyStr of the current session which is full screened, None is no session in fullscreen</span>
|
||||
<span class="s2">"ActivityList"</span><span class="p">:</span> <span class="p">[</span>
|
||||
<span class="c1"># Technical Activity list for RobotRDPActive thread - equal to Main activity list, apply only RDP activity</span>
|
||||
<span class="c1"># {</span>
|
||||
<span class="c1"># "DefNameStr":"test", # Function name in RobotRDPActive.Processor</span>
|
||||
<span class="c1"># "ArgList":[1,2,3], # Args list</span>
|
||||
<span class="c1"># "ArgDict":{"ttt":1,"222":2,"dsd":3} # Args dictionary</span>
|
||||
<span class="c1"># },</span>
|
||||
<span class="c1"># {</span>
|
||||
<span class="c1"># "DefNameStr": "RDPSessionConnect", # Function name in RobotRDPActive.Processor</span>
|
||||
<span class="c1"># "ArgList": [], # Args list</span>
|
||||
<span class="c1"># "ArgDict": {"inRDPSessionKeyStr": "TestRDP", "inHostStr": "77.44.33.22", "inPortStr": "3389",</span>
|
||||
<span class="c1"># "inLoginStr": "login", "inPasswordStr": "pass"} # Args dictionary</span>
|
||||
<span class="c1"># },</span>
|
||||
<span class="c1"># {</span>
|
||||
<span class="c1"># "DefNameStr": "RDPSessionDisconnect", # Disconnect the RDP session without logoff. Function name in RobotRDPActive.Processor</span>
|
||||
<span class="c1"># "ArgList": [], # Args list</span>
|
||||
<span class="c1"># "ArgDict": {"inRDPSessionKeyStr": "TestRDP"}</span>
|
||||
<span class="c1"># },</span>
|
||||
<span class="c1"># {</span>
|
||||
<span class="c1"># "DefNameStr": "RDPSessionReconnect", # Disconnect the RDP session without logoff. Function name in RobotRDPActive.Processor</span>
|
||||
<span class="c1"># "ArgList": [], # Args list</span>
|
||||
<span class="c1"># "ArgDict": {"inRDPSessionKeyStr": "TestRDP"}</span>
|
||||
<span class="c1"># }</span>
|
||||
<span class="p">]</span>
|
||||
<span class="p">},</span>
|
||||
<span class="c1"># # # # # # # # # # # # # #</span>
|
||||
<span class="s2">"FileManager"</span><span class="p">:</span> <span class="p">{</span>
|
||||
<span class="s2">"FileURLFilePathDict_help"</span><span class="p">:</span> <span class="s2">"https://localhost:8081/filemanager/<file URL>. All FileURL s must be set in lowercase"</span><span class="p">,</span>
|
||||
<span class="s2">"FileURLFilePathDict"</span><span class="p">:</span> <span class="p">{</span>
|
||||
<span class="c1">#"r01/report.xlsx": "C:\\RPA\\R01_IntegrationOrderOut\\Data\\Reestr_otgruzok.xlsx"</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">},</span>
|
||||
<span class="s2">"Logger"</span><span class="p">:</span> <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s2">"Orchestrator"</span><span class="p">),</span>
|
||||
<span class="s2">"Storage"</span><span class="p">:</span> <span class="p">{</span>
|
||||
<span class="s2">"Robot_R01_help"</span><span class="p">:</span> <span class="s2">"Robot data storage in orchestrator env"</span><span class="p">,</span>
|
||||
<span class="s2">"Robot_R01"</span><span class="p">:</span> <span class="p">{},</span>
|
||||
<span class="s2">"R01_OrchestratorToRobot"</span><span class="p">:</span> <span class="p">{</span><span class="s2">"Test2"</span><span class="p">:</span> <span class="s2">"Test2"</span><span class="p">}</span>
|
||||
<span class="p">},</span>
|
||||
<span class="s2">"AgentDict"</span><span class="p">:</span> <span class="p">{</span> <span class="c1"># Will be filled when program runs</span>
|
||||
<span class="c1">#("HostNameUpperStr", "UserUpperStr"): { "IsListenBool": True, "QueueList": [] }</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="c1"># Create full configuration for</span>
|
||||
<span class="k">def</span> <span class="nf">__AgentDictItemCreate__</span><span class="p">():</span>
|
||||
<span class="k">return</span> <span class="p">{</span><span class="s2">"IsListenBool"</span><span class="p">:</span><span class="kc">False</span><span class="p">,</span> <span class="s2">"ConnectionCountInt"</span><span class="p">:</span><span class="mi">0</span><span class="p">,</span> <span class="s2">"ConnectionFirstQueueItemCountInt"</span><span class="p">:</span><span class="mi">0</span><span class="p">,</span> <span class="s2">"ActivityList"</span><span class="p">:[]}</span>
|
||||
<span class="c1"># Create full configuration for</span>
|
||||
<span class="k">def</span> <span class="nf">__UACClientAdminCreate__</span><span class="p">():</span>
|
||||
<span class="n">lResultDict</span> <span class="o">=</span> <span class="p">{</span>
|
||||
<span class="s2">"pyOpenRPADict"</span><span class="p">:{</span>
|
||||
<span class="s2">"CPKeyDict"</span><span class="p">:{</span> <span class="c1"># Empty dict - all access</span>
|
||||
<span class="c1"># "CPKeyStr"{</span>
|
||||
<span class="c1"># }</span>
|
||||
<span class="p">},</span>
|
||||
<span class="s2">"RDPKeyDict"</span><span class="p">:{</span> <span class="c1"># Empty dict - all access</span>
|
||||
<span class="c1">#"RDPKeyStr"{</span>
|
||||
<span class="c1"># "FullscreenBool": True,</span>
|
||||
<span class="c1"># "IgnoreBool":True,</span>
|
||||
<span class="c1"># "ReconnectBool": True</span>
|
||||
<span class="c1"># "NothingBool": True # USe option if you dont want to give some access to the RDP controls</span>
|
||||
<span class="c1"># }</span>
|
||||
<span class="p">},</span>
|
||||
<span class="s2">"AgentKeyDict"</span><span class="p">:</span> <span class="p">{</span> <span class="c1"># Empty dict - all access</span>
|
||||
<span class="c1"># "AgentKeyStr"{</span>
|
||||
<span class="c1"># }</span>
|
||||
<span class="p">},</span>
|
||||
<span class="s2">"AdminDict"</span><span class="p">:{</span> <span class="c1"># Empty dict - all access</span>
|
||||
<span class="s2">"LogViewerBool"</span><span class="p">:</span><span class="kc">True</span><span class="p">,</span> <span class="c1"># Show log viewer on the web page</span>
|
||||
<span class="s2">"CMDInputBool"</span><span class="p">:</span><span class="kc">True</span><span class="p">,</span> <span class="c1"># Execute CMD on the server side and result to the logs</span>
|
||||
<span class="s2">"ScreenshotViewerBool"</span><span class="p">:</span><span class="kc">True</span><span class="p">,</span> <span class="c1"># Show button to look screenshots</span>
|
||||
<span class="s2">"RestartOrchestratorBool"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="c1"># Restart orchestrator activity</span>
|
||||
<span class="s2">"RestartOrchestratorGITPullBool"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="c1"># Turn off (RDP remember) orc + git pull + Turn on (rdp remember)</span>
|
||||
<span class="s2">"RestartPCBool"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="c1"># Send CMD to restart pc</span>
|
||||
<span class="s2">"NothingBool"</span><span class="p">:</span><span class="kc">True</span> <span class="c1"># USe option if you dont want to give some access to the RDP controls</span>
|
||||
<span class="p">},</span>
|
||||
<span class="s2">"ActivityDict"</span><span class="p">:</span> <span class="p">{</span> <span class="c1"># Empty dict - all access</span>
|
||||
<span class="s2">"ActivityListExecuteBool"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="c1"># Execute activity at the current thread</span>
|
||||
<span class="s2">"ActivityListAppendProcessorQueueBool"</span><span class="p">:</span> <span class="kc">True</span> <span class="c1"># Append activity to the processor queue</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="p">}</span>
|
||||
<span class="k">return</span> <span class="n">lResultDict</span>
|
||||
|
||||
|
||||
<span class="c1"># Init the log dump to WEB</span>
|
||||
<span class="c1"># import pdb; pdb.set_trace()</span>
|
||||
<span class="c1">############################################</span>
|
||||
<span class="k">def</span> <span class="nf">LoggerDumpLogHandlerAdd</span><span class="p">(</span><span class="n">inLogger</span><span class="p">,</span> <span class="n">inGSettingsClientDict</span><span class="p">):</span>
|
||||
<span class="n">lL</span> <span class="o">=</span> <span class="n">inLogger</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">lL</span><span class="o">.</span><span class="n">handlers</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">mRobotLoggerFormatter</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">Formatter</span><span class="p">(</span><span class="s1">'</span><span class="si">%(asctime)s</span><span class="s1"> - </span><span class="si">%(levelname)s</span><span class="s1"> - </span><span class="si">%(message)s</span><span class="s1">'</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">mRobotLoggerFormatter</span> <span class="o">=</span> <span class="n">lL</span><span class="o">.</span><span class="n">handlers</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">formatter</span>
|
||||
<span class="n">mHandlerDumpLogList</span> <span class="o">=</span> <span class="n">LoggerHandlerDumpLogList</span><span class="o">.</span><span class="n">LoggerHandlerDumpLogList</span><span class="p">(</span><span class="n">inDict</span><span class="o">=</span><span class="n">inGSettingsClientDict</span><span class="p">,</span>
|
||||
<span class="n">inKeyStr</span><span class="o">=</span><span class="s2">"DumpLogList"</span><span class="p">,</span> <span class="n">inHashKeyStr</span><span class="o">=</span><span class="s2">"DumpLogListHashStr"</span><span class="p">,</span> <span class="n">inRowCountInt</span><span class="o">=</span><span class="n">inGSettingsClientDict</span><span class="p">[</span>
|
||||
<span class="s2">"DumpLogListCountInt"</span><span class="p">])</span>
|
||||
<span class="n">mHandlerDumpLogList</span><span class="o">.</span><span class="n">setFormatter</span><span class="p">(</span><span class="n">mRobotLoggerFormatter</span><span class="p">)</span>
|
||||
<span class="n">lL</span><span class="o">.</span><span class="n">addHandler</span><span class="p">(</span><span class="n">mHandlerDumpLogList</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># inModeStr:</span>
|
||||
<span class="c1"># "BASIC" - create standart configuration</span>
|
||||
<span class="kn">from</span> <span class="nn">pyOpenRPA.Orchestrator.Utils</span> <span class="kn">import</span> <span class="n">LoggerHandlerDumpLogList</span>
|
||||
<span class="k">def</span> <span class="nf">Create</span><span class="p">(</span><span class="n">inModeStr</span><span class="o">=</span><span class="s2">"BASIC"</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="n">inModeStr</span><span class="o">==</span><span class="s2">"BASIC"</span><span class="p">:</span>
|
||||
<span class="n">lResult</span> <span class="o">=</span> <span class="n">__Create__</span><span class="p">()</span> <span class="c1"># Create settings</span>
|
||||
<span class="c1"># Создать файл логирования</span>
|
||||
<span class="c1"># add filemode="w" to overwrite</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="s2">"Reports"</span><span class="p">):</span>
|
||||
<span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="s2">"Reports"</span><span class="p">)</span>
|
||||
<span class="c1">##########################</span>
|
||||
<span class="c1"># Подготовка логгера Robot</span>
|
||||
<span class="c1">#########################</span>
|
||||
<span class="n">mRobotLogger</span> <span class="o">=</span> <span class="n">lResult</span><span class="p">[</span><span class="s2">"Logger"</span><span class="p">]</span>
|
||||
<span class="n">mRobotLogger</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="n">logging</span><span class="o">.</span><span class="n">INFO</span><span class="p">)</span>
|
||||
<span class="c1"># create the logging file handler</span>
|
||||
<span class="n">mRobotLoggerFH</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">FileHandler</span><span class="p">(</span>
|
||||
<span class="s2">"Reports</span><span class="se">\\</span><span class="s2">"</span> <span class="o">+</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">"%Y_%m_</span><span class="si">%d</span><span class="s2">"</span><span class="p">)</span> <span class="o">+</span> <span class="s2">".log"</span><span class="p">)</span>
|
||||
<span class="n">mRobotLoggerFormatter</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">Formatter</span><span class="p">(</span><span class="s1">'</span><span class="si">%(asctime)s</span><span class="s1"> - </span><span class="si">%(levelname)s</span><span class="s1"> - </span><span class="si">%(message)s</span><span class="s1">'</span><span class="p">)</span>
|
||||
<span class="n">mRobotLoggerFH</span><span class="o">.</span><span class="n">setFormatter</span><span class="p">(</span><span class="n">mRobotLoggerFormatter</span><span class="p">)</span>
|
||||
<span class="c1"># add handler to logger object</span>
|
||||
<span class="n">mRobotLogger</span><span class="o">.</span><span class="n">addHandler</span><span class="p">(</span><span class="n">mRobotLoggerFH</span><span class="p">)</span>
|
||||
<span class="c1">####################Add console output</span>
|
||||
<span class="n">handler</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">StreamHandler</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">stdout</span><span class="p">)</span>
|
||||
<span class="n">handler</span><span class="o">.</span><span class="n">setFormatter</span><span class="p">(</span><span class="n">mRobotLoggerFormatter</span><span class="p">)</span>
|
||||
<span class="n">mRobotLogger</span><span class="o">.</span><span class="n">addHandler</span><span class="p">(</span><span class="n">handler</span><span class="p">)</span>
|
||||
<span class="c1">############################################</span>
|
||||
<span class="n">LoggerDumpLogHandlerAdd</span><span class="p">(</span><span class="n">inLogger</span><span class="o">=</span><span class="n">mRobotLogger</span><span class="p">,</span> <span class="n">inGSettingsClientDict</span><span class="o">=</span><span class="n">lResult</span><span class="p">[</span><span class="s2">"Client"</span><span class="p">])</span>
|
||||
<span class="c1">#mHandlerDumpLogList = LoggerHandlerDumpLogList.LoggerHandlerDumpLogList(inDict=lResult["Client"],</span>
|
||||
<span class="c1"># inKeyStr="DumpLogList",</span>
|
||||
<span class="c1"># inHashKeyStr="DumpLogListHashStr",</span>
|
||||
<span class="c1"># inRowCountInt=lResult["Client"][</span>
|
||||
<span class="c1"># "DumpLogListCountInt"])</span>
|
||||
<span class="c1">#mHandlerDumpLogList.setFormatter(mRobotLoggerFormatter)</span>
|
||||
<span class="c1">#mRobotLogger.addHandler(mHandlerDumpLogList)</span>
|
||||
<span class="k">return</span> <span class="n">lResult</span> <span class="c1"># return the result dict</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
<a href="Orchestrator.html" class="btn btn-neutral float-left" title="Description" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>
|
||||
© Copyright 2020, Ivan Maslov.
|
||||
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,220 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>Description — pyOpenRPA v1.2.0 documentation</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="How to start" href="../Orchestrator/HowToStart.html" />
|
||||
<link rel="prev" title="Description" href="../Robot/Robot.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../index.html" class="icon icon-home"> pyOpenRPA
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p class="caption"><span class="caption-text">ROBOT</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Robot/Robot.html">Description</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">STUDIO</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">Description</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/HowToStart.html">How to start</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/Orchestrator.html">Description</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/gSettingsTemplate.html">gSettings Template</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../index.html">pyOpenRPA</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li>Description</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
|
||||
<a href="../_sources/Studio/Studio.rst.txt" rel="nofollow"> View page source</a>
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="section" id="description">
|
||||
<h1>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h1>
|
||||
<p>pyOpenRPA Studio is the executable process.</p>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||
<a href="../Orchestrator/HowToStart.html" class="btn btn-neutral float-right" title="How to start" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="../Robot/Robot.html" class="btn btn-neutral float-left" title="Description" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>
|
||||
© Copyright 2020, Ivan Maslov.
|
||||
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,158 +1,208 @@
|
||||
<!doctype html>
|
||||
<html class="no-js">
|
||||
<head><meta charset="utf-8"/>
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1"/><link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" />
|
||||
|
||||
<meta name="generator" content="sphinx-3.3.1, furo 2020.12.09.beta21"/>
|
||||
<title>Overview: module code - pyOpenRPA v1.2.0 documentation</title>
|
||||
<link rel="stylesheet" href="../_static/styles/furo.css?digest=a3f371badb8538d75df213ccffb17a4f6e8f3ac5">
|
||||
<link rel="stylesheet" href="../_static/pygments.css">
|
||||
<link media="(prefers-color-scheme: dark)" rel="stylesheet" href="../_static/pygments_dark.css">
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
:root {
|
||||
--color-code-background: #f8f8f8;
|
||||
--color-code-foreground: black;
|
||||
|
||||
}
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--color-code-background: #202020;
|
||||
--color-code-foreground: #d0d0d0;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/* For allowing end-user-specific overrides */
|
||||
.override-light {
|
||||
--color-code-background: #f8f8f8;
|
||||
--color-code-foreground: black;
|
||||
|
||||
}
|
||||
.override-dark {
|
||||
--color-code-background: #202020;
|
||||
--color-code-foreground: #d0d0d0;
|
||||
|
||||
}
|
||||
</style><link id="pygments_dark_css" media="(prefers-color-scheme: dark)" rel="stylesheet" type="text/css" href="../_static/pygments_dark.css" />
|
||||
<link rel="stylesheet" href="../_static/styles/furo-extensions.css?digest=26485485040e7aaf717c13fd0188a5ad2c2deb60">
|
||||
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||||
<script defer src="../_static/jquery.js"></script>
|
||||
<script defer src="../_static/underscore.js"></script>
|
||||
<script defer src="../_static/doctools.js"></script>
|
||||
<script defer src="../_static/language_data.js"></script>
|
||||
<script defer src="../_static/scripts/main.js?digest=e931d09b2a40c1bb82b542effe772014573baf67"></script></head>
|
||||
<body dir="">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
||||
<symbol id="svg-toc" viewBox="0 0 24 24">
|
||||
<title>Contents</title>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
|
||||
stroke-width="1.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z"/>
|
||||
<line x1="4" y1="6" x2="20" y2="6" />
|
||||
<line x1="10" y1="12" x2="20" y2="12" />
|
||||
<line x1="6" y1="18" x2="20" y2="18" />
|
||||
</svg>
|
||||
</symbol>
|
||||
<symbol id="svg-menu" viewBox="0 0 24 24">
|
||||
<title>Menu</title>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
|
||||
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
|
||||
class="feather feather-menu">
|
||||
<line x1="3" y1="12" x2="21" y2="12"></line>
|
||||
<line x1="3" y1="6" x2="21" y2="6"></line>
|
||||
<line x1="3" y1="18" x2="21" y2="18"></line>
|
||||
</svg>
|
||||
</symbol>
|
||||
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
|
||||
<title>Expand</title>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
|
||||
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
|
||||
class="feather feather-chevron-right">
|
||||
<polyline points="9 18 15 12 9 6"></polyline>
|
||||
</svg>
|
||||
</symbol>
|
||||
</svg>
|
||||
|
||||
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
|
||||
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
|
||||
<label class="overlay sidebar-overlay" for="__navigation"></label>
|
||||
<label class="overlay toc-overlay" for="__toc"></label>
|
||||
|
||||
|
||||
<div class="page">
|
||||
<header class="mobile-header">
|
||||
<div class="header-left">
|
||||
<label class="nav-overlay-icon" for="__navigation">
|
||||
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
|
||||
</label>
|
||||
</div>
|
||||
<div class="header-center">
|
||||
<a href="../index.html"><div class="brand">pyOpenRPA v1.2.0 documentation</div></a>
|
||||
</div>
|
||||
<div class="header-right">
|
||||
<label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
|
||||
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||
</label>
|
||||
</div>
|
||||
</header>
|
||||
<aside class="sidebar-drawer">
|
||||
<div class="sidebar-container">
|
||||
|
||||
<div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
|
||||
|
||||
|
||||
<span class="sidebar-brand-text">pyOpenRPA v1.2.0 documentation</span>
|
||||
|
||||
</a><form class="sidebar-search-container" method="get" action="../search.html">
|
||||
<input class="sidebar-search" placeholder="Search" name="q">
|
||||
<input type="hidden" name="check_keywords" value="yes">
|
||||
<input type="hidden" name="area" value="default">
|
||||
</form><div class="sidebar-scroll"><div class="sidebar-tree">
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>Overview: module code — pyOpenRPA v1.2.0 documentation</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../index.html" class="icon icon-home"> pyOpenRPA
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p class="caption"><span class="caption-text">ROBOT</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Robot/Robot.html">Description</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">STUDIO</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Studio/Studio.html">Description</a></li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/HowToStart.html">How to start</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/Orchestrator.html">Description</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/gSettingsTemplate.html">gSettings Template</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../index.html">pyOpenRPA</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</aside>
|
||||
<main class="main">
|
||||
<div class="content">
|
||||
<article role="main">
|
||||
<label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
|
||||
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||
</label>
|
||||
<h1>All modules for which code is available</h1>
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li>Overview: module code</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<h1>All modules for which code is available</h1>
|
||||
<ul><li><a href="pyOpenRPA/Orchestrator/__Orchestrator__.html">pyOpenRPA.Orchestrator.__Orchestrator__</a></li>
|
||||
</ul>
|
||||
</article>
|
||||
<footer>
|
||||
|
||||
<div class="related-pages">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
|
||||
</div>
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>
|
||||
© Copyright 2020, Ivan Maslov.
|
||||
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="related-information">
|
||||
Copyright © 2020, Ivan Maslov
|
||||
|
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a>
|
||||
and
|
||||
<a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
|
||||
<a href="https://github.com/pradyunsg/furo">Furo theme</a>.
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
<aside class="toc-drawer no-toc">
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</aside>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
@ -1,26 +0,0 @@
|
||||
.. pyOpenRPA documentation master file, created by
|
||||
sphinx-quickstart on Sat Dec 19 23:59:00 2020.
|
||||
You can adapt this file completely to your liking, but it should at least
|
||||
contain the root `toctree` directive.
|
||||
|
||||
Welcome to pyOpenRPA's documentation!
|
||||
=====================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Contents:
|
||||
|
||||
|
||||
|
||||
Indices and tables
|
||||
=====================================
|
||||
|
||||
* :ref:`genindex`
|
||||
* :ref:`modindex`
|
||||
* :ref:`search`
|
||||
|
||||
|
||||
pyOpenRPA Orchestrator
|
||||
=====================================
|
||||
.. automodule:: pyOpenRPA.Orchestrator.__Orchestrator__
|
||||
:members:
|
@ -0,0 +1,9 @@
|
||||
************************
|
||||
How to start
|
||||
************************
|
||||
|
||||
Start configuration example
|
||||
|
||||
.. include:: ../../../Orchestrator/OrchestratorSettings.py
|
||||
:literal:
|
||||
|
@ -0,0 +1,81 @@
|
||||
************************
|
||||
Description
|
||||
************************
|
||||
|
||||
pyOpenRPA Orchestrator is the executable process.
|
||||
|
||||
The features of the orchestrator is:
|
||||
- Centralized/decentralized user control interface (applicable and for business users and for technical users). Web based, support desktop, tablet, phone.
|
||||
- Automatized robots control (customized algorithms, robots scheduling)
|
||||
- Source code mega flexibility: Light Orchestrator architecture is good for own customization
|
||||
|
||||
Global settings dict concept
|
||||
##################################
|
||||
pyOpenRPA project is complex tool which consist of several executable modules such as Robot, Orchestrator, Studio,
|
||||
|
||||
Because of module compexity, we use 1 init arg - inGSettings
|
||||
inGSettings is a complex dictionary which has all reqired parameters for the module execution.
|
||||
|
||||
The description of the GSettings you can find in executable module details.
|
||||
|
||||
|
||||
Orchestrator how to configure
|
||||
##################################
|
||||
|
||||
|
||||
To init pyOpenRPA Orchestrator instance use script:
|
||||
|
||||
from pyOpenRPA import Orchestrator # Import orchestrator main
|
||||
gSettings = SettingsTemplate.Create(inModeStr="BASIC") # Create GSettings with basic configuration
|
||||
Orchestrator.Orchestrator(inGSettings=gSettings) # Call the orchestrator def
|
||||
|
||||
gSettings structure
|
||||
|
||||
:ref:`gSettingsTemplate`.
|
||||
|
||||
|
||||
|
||||
Orchestrator architecture
|
||||
##################################
|
||||
Orchestrator has several source code components:
|
||||
- User/robot activity consolidated queue single thread (Processor)
|
||||
- User/robot activity asynchonus many threads (Processor)
|
||||
- Scheduler single thread (main)
|
||||
- RDP keep active many thread
|
||||
- Autocleaner single thread
|
||||
- GUI keep active single thread
|
||||
- HTTP web server single thread (create user socket threads)
|
||||
-
|
||||
|
||||
Below you can find more information about all of the component.
|
||||
|
||||
Component Processor
|
||||
##################################
|
||||
Sync - Append activity list to consolidated processor queue. Execution goes sequency by the activity list order
|
||||
|
||||
Async - Create New thread to execute the activity list
|
||||
|
||||
- Activity list
|
||||
Liast of the activity item
|
||||
|
||||
- Activity item
|
||||
Activity item is universal mechanism to execute different algorythms from any sources.
|
||||
The core feature of the Activity is to call python defs with args and kwargs.
|
||||
If you need to init do some activity you can write some python def, then create Activity item with current def.
|
||||
ATTENTION: In some cases (such as web transmition), when you can't transmit python def as object you can use symbolic names for python defs. It is apply you to init all of you want from the web UI.
|
||||
|
||||
?Why i cant transmit python def from the web
|
||||
Because the WEB space is not the Python executable space. Interaction between it spaces create by JSON protocol. So, we know than JSON apply int, float, str, bool, None, list, dict - that is all.
|
||||
{
|
||||
"Def":"DefAliasTest", # def link or def alias (look gSettings["Processor"]["AliasDefDict"])
|
||||
"ArgList":[1,2,3], # Args list
|
||||
"ArgDict":{"ttt":1,"222":2,"dsd":3}, # Args dictionary
|
||||
"ArgGSettings": None # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
|
||||
"ArgLogger": None # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
|
||||
}# Pay attention! Do not left comma symbol after the end of the dict - it can be interpretated like a turple..
|
||||
|
||||
|
||||
pyOpenRPA Orchestrator
|
||||
##################################
|
||||
.. automodule:: pyOpenRPA.Orchestrator.__Orchestrator__
|
||||
:members:
|
@ -0,0 +1,9 @@
|
||||
.. _gSettingsTemplate:
|
||||
************************
|
||||
gSettings Template
|
||||
************************
|
||||
|
||||
gSettings structure
|
||||
|
||||
.. include:: ../../pyOpenRPA/Orchestrator/SettingsTemplate.py
|
||||
:literal:
|
@ -0,0 +1,11 @@
|
||||
************************
|
||||
Description
|
||||
************************
|
||||
|
||||
pyOpenRPA Robot is the python package.
|
||||
|
||||
|
||||
pyOpenRPA Robot
|
||||
##################################
|
||||
.. automodule:: pyOpenRPA.Robot.UIDesktop
|
||||
:members:
|
@ -0,0 +1,5 @@
|
||||
************************
|
||||
Description
|
||||
************************
|
||||
|
||||
pyOpenRPA Studio is the executable process.
|
@ -0,0 +1 @@
|
||||
.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue