der-spiegel/amendo-client

OneVision Amendo 的 PHP 客户端 https://www.onevision.com/solutions/image-editing/amendo/

v2.2.1 2024-05-06 12:54 UTC

This package is auto-updated.

Last update: 2024-09-06 13:40:58 UTC


README

OneVision Amendo 是一款自动图像增强软件。此 PHP 客户端库使用其 REST API。

这不是 OneVision 供应商提供的官方库。它是在德国 SPIEGEL Gruppe 的 WoodWing Assets 项目中开发的,时间为 2020 年。

安装

使用 Composer 将此库添加到您的项目 composer.json 文件中

$ composer require der-spiegel/amendo-client

开发此库

如果您想帮助开发此库,以下是开始的方法(需要 Docker)

使用 Composer 安装依赖项

$ docker run --rm --interactive --tty \
  --volume $PWD:/app \
  --volume ${COMPOSER_HOME:-$HOME/.composer}:/tmp \
  composer/composer install

使用此库

可以通过设置环境变量 AMENDO_SERVER 为 Amendo 服务器基础 URL,AMENDO_ASSEMBLYLINE 为 Amendo 集成线名称,AMENDO_FILEPATH 为要由集成线处理的文件路径来直接使用 UsageExample.php 示例脚本。

该脚本将使用指定的集成线为指定的文件创建一个新作业。一些自定义作业和文件属性随作业票提交到 Amendo 服务器,可用于配置集成线中使用的模块。

对于更高级的使用,请复制 UsageExample.php 示例文件

$ cp UsageExample.php MyExample.php

并相应地修改复制的文件。

示例源代码解释

创建一个指向 Amendo 服务器的 AmendoConfig 对象

$amendoConfig = new AmendoConfig($amendoServerUrl);

使用 AmendoConfig 对象创建一个 AmendoClient 对象

$amendoClient = new AmendoClient($amendoConfig, $logger);

创建一个 SimpleJobTicket 对象

$jobTicket = new SimpleJobTicket();

可选:设置作业名称

如果没有设置作业名称,则使用生成的作业名称。

$jobTicket->setJobName('Test-' . time());

设置要使用的集成线

$jobTicket->setAssemblyLineReference($assemblyLine);

可选:设置作业优先级

如果没有设置优先级,则不向 Amendo 服务器提交优先级。

$jobTicket->setJobPriority(60);

可选:将作业属性添加到作业中

$jobTicket->setStringProperty('Custom', 'AString', 'Text');
$jobTicket->setBooleanProperty('Custom', 'ABool', true);
$jobTicket->setIntegerProperty('Custom', 'AnInteger', 42);
$jobTicket->setFloatProperty('Custom', 'AFloat', 0.815);

每个方法调用的第一个参数指定要添加属性的列表名称。第二个参数指定属性名称,第三个参数指定其值。

第一行添加一个字符串类型的属性,第二行添加一个布尔类型的属性,第三行添加一个整数类型的属性,第四行添加一个浮点类型的属性到作业属性中。

将一个或多个文件添加到作业的运行列表中

用于

$file = $jobTicket->addFile($filePath);

常规本地文件或

$file = $jobTicket->addUri($filePath);

文件 URI 或

$file = $jobTicket->addDownloadUri($filePath);

下载 URI。

可选:将文件属性添加到添加的文件中

$file->setStringProperty('Custom', 'AString', 'FileText');
$file->setBooleanProperty('Custom', 'ABool', false);
$file->setIntegerProperty('Custom', 'AnInteger', 15);
$file->setFloatProperty('Custom', 'AFloat', 3.1415);

有关详细信息,请参阅作业属性。

将 SimpleJobTicket 提交给 Amendo 服务器。

$jobId = $amendoClient->startJobTicket($jobTicket);

如果成功,Amendo 服务器返回一个正的 $jobId
如果出错,则抛出异常或 Amendo 服务器返回 0

可选:查询作业概览

$result = $amendoClient->getJobOverview($jobId);

返回一个数组,其内容取决于作业的当前状态。

然后运行您的副本

$ docker run -it --rm --name amendo-client-example \
  --volume "$PWD":/usr/src/myapp --workdir /usr/src/myapp \
  php:8.3-cli php MyExample.php

作者

许可证

此库根据 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE 文件。