Metadata-Version: 2.4
Name: edufms
Version: 0.3.0
Summary: Пакет для взаимодействия с ФМС
Author-email: BARS Group <education_dev@bars.group>
Project-URL: Homepage, https://stash.bars-open.ru/projects/EDUBASE/repos/edufms/browse
Project-URL: Repository, https://stash.bars-open.ru/scm/edubase/edufms.git
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Intended Audience :: Developers
Classifier: Environment :: Web Environment
Classifier: Natural Language :: Russian
Classifier: Operating System :: OS Independent
Classifier: Topic :: Utilities
Requires-Python: >=3.9
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: m3-spyne-smev>=0.1.8
Requires-Dist: six<2,>=1.11
Provides-Extra: dev
Requires-Dist: isort==5.12.0; extra == "dev"
Requires-Dist: ruff==0.12.1; extra == "dev"
Requires-Dist: flake8<7,>=4.0.1; extra == "dev"
Requires-Dist: pytest<8,>=3.2.5; extra == "dev"
Requires-Dist: pytest-cov<5; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx<7.5,>=7; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints<2.5,>=2; extra == "docs"
Requires-Dist: myst-parser<3.2,>=3; extra == "docs"
Requires-Dist: sphinx_design<0.7,>=0.6; extra == "docs"
Dynamic: license-file

Пакет для взаимодействия с ФМС.
==================================================

**Пример использования**

1. Указываем параметры конфигурации
::

    config_params = {
        'wsdl_url': settings.WSDL_URL,
        'certificate_path': cert_path,
        'private_key_path': key_path,
        'private_key_pass': settings.SMEV_PRIVKEY_PASS,
        'smev_sender_code': settings.SMEV_SENDER_CODE,
        'smev_sender_name': settings.SMEV_SENDER_NAME,
        'recipient_code': settings.RECIPIENT_CODE,
        'recipient_name': settings.RECIPIENT_NAME,
        'system_okato': settings.OKATO,
        'region_code': settings.REGION_CODE
    }
    config = FmsRequestConfig(**config_params)


2. Создаем экземпляр клиента
::

    fms_client = FmsClient(config)

3. Выполняем запрос с параметрами
::

    request_params = {
        'RequestIdRef': fms_request.request_id_ref,
        'OriginRequestIdRef': fms_request.origin_request_id_ref,
        'taskId': fms_request.query_id,
    }
    result = fms_client.request('getResult', request_params)

4. Пример обработки результата
::

    err_code = result.MessageData.AppData.errorCode
    error_description = result.MessageData.AppData.errorDescription

    if err_code == FmsClient.RC_REQUEST_ACCEPTED:
        last_sent = fms_client.last_sent
        last_received = fms_client.last_received
        # save results
    else:
        # process error
