AutoArchive._services.external_command_executor — AutoArchive Developer Manual (ver. 2.1.0.dev20260309)

# AutoArchive._services.external_command_executor

Service for executing external commands.

## Modules

### external_command_executor_service_identification

`ExternalCommandExecutorServiceIdentification` class.

class AutoArchive._services.external_command_executor.external_command_executor_service_identification.ExternalCommandExecutorServiceIdentification

  Bases: `IServiceIdentification`

  Identifies External Command Executor service.

  interface

    alias of `ExternalCommandExecutor`

### _external_command_executor_service_component

`ExternalCommandExecutorServiceComponent` class.

class AutoArchive._services.external_command_executor._external_command_executor_service_component.ExternalCommandExecutorServiceComponent(applicationContext, serviceAccessor: ServiceAccessor)

  Bases: `IServiceComponent`

  Service component for external command executor.

  Registers service identified as `ExternalCommandExecutorServiceIdentification`.

  destroyServices()

    See: `IServiceComponent.destroyServices()`

### _external_command_executor

`ExternalCommandExecutor` class.

class AutoArchive._services.external_command_executor._external_command_executor.ExternalCommandExecutor(workDir=None)

  Bases: `IService`

  Executes external commands.

  execute(command, arguments=None, environment=None)

    Executes passed command.

    Commands standard output and standard error messages are propagated through `commandMessage` event.

    Raises:

      - OSError – If a system error occurred during command execution.

      - ChildProcessError – If the command exit code is non zero.

    Executes given command as a child process.

    Both standard output and standard error are captured and propagated via `commandMessage()` event. The order of messages written to standard output vs. standard error is not guaranteed to be preserved.

    See also: `ExternalCommandExecutor.execute()`.

  commandMessage = <AutoArchive._infrastructure.py_additions.event object>