Utilities
Utilities¶
copy¶
{
"tags": [
"itest",
"utils",
"copy"
],
"region": "aws:eu-west-1",
"tasks": [
{
"tool": "storage:get",
"parameters": {
"location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN/",
"files": [
"tos_5s_audio_44100Hz_64k_HE_2chan_eng.mp4",
"tos_5s_audio_44100Hz_64k_HE_2chan_ita.mp4"
]
}
},
{
"tool": "utils:copy",
"parameters": {
"pattern": "2chan_(?P<lang>\\w+).mp4$",
"to": "out/audio-{lang}.mp4"
}
},
{
"tool": "storage:put",
"parameters": {
"location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/utils-copy_{job_id}",
"files": [
"out/*.mp4"
]
}
}
]
}
createlink¶
{
"tags": [
"itest",
"utils",
"createlink"
],
"region": "aws:eu-west-1",
"tasks": [
{
"tool": "utils:createlink",
"parameters": {
"location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN/",
"files": [
"tos-deu.vtt"
],
"expires_in": 1800
}
}
]
}
env¶
{
"tags": [
"itest",
"utils",
"env"
],
"region": "aws:eu-west-1",
"tasks": [
{
"tool": "utils:env",
"parameters": {
"input": "@com.castlabs.vtk.itest/IN/",
"output": "@com.castlabs.vtk.itest/OUT/utils-env_"
}
},
{
"tool": "storage:get",
"parameters": {
"location": "s3://{com-castlabs-vtk-itest-access-keys}{input}",
"files": [
"tos_10s_deu.dfxp"
]
}
},
{
"tool": "storage:put",
"parameters": {
"location": "s3://{com-castlabs-vtk-itest-access-keys}{output}{job_id}",
"files": [
"*.dfxp"
]
}
}
]
}
envjq¶
{
"tags": [
"itest",
"utils",
"envjq"
],
"region": "aws:eu-west-1",
"tasks": [
{
"tool": "storage:get",
"parameters": {
"location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN/",
"files": [
"utils-envjq-itest.json"
]
}
},
{
"tool": "utils:env_jq",
"parameters": {
"input_json": "utils-envjq-itest.json",
"jq": ".token",
"var_name": "MY_AUTH_TOKEN"
}
},
{
"tool": "utils:echo",
"parameters": {
"text": "token: {MY_AUTH_TOKEN}"
}
}
]
}
file_checksum¶
{
"tags": [
"itest",
"utils",
"file_checksum"
],
"region": "aws:eu-west-1",
"tasks": [
{
"tool": "storage:get",
"parameters": {
"location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN",
"files": [
"tos-per.srt"
]
}
},
{
"tool": "utils:file_checksum",
"parameters": {
"algorithm": "md5",
"input_file": "tos-per.srt",
"env_name": "TEST_MD5SUM",
"output_file": "tos-per.srt.md5"
}
},
{
"tool": "utils:file_checksum",
"parameters": {
"algorithm": "sha1",
"input_file": "tos-per.srt",
"env_name": "TEST_SHA1SUM",
"output_file": "tos-per.srt.sha1"
}
},
{
"tool": "utils:file_checksum",
"parameters": {
"algorithm": "sha256",
"input_file": "tos-per.srt",
"env_name": "TEST_SHA256SUM",
"output_file": "tos-per.srt.sha256"
}
},
{
"tool": "utils:file_checksum",
"parameters": {
"algorithm": "sha512",
"input_file": "tos-per.srt",
"env_name": "TEST_SHA512SUM",
"output_file": "tos-per.srt.sha512"
}
},
{
"tool": "utils:echo",
"parameters": {
"text": "MD5: {TEST_MD5SUM}\n"
}
},
{
"tool": "utils:echo",
"parameters": {
"text": "SHA1: {TEST_SHA1SUM}\n"
}
},
{
"tool": "utils:echo",
"parameters": {
"text": "SHA256: {TEST_SHA256SUM}\n"
}
},
{
"tool": "utils:echo",
"parameters": {
"text": "SHA512: {TEST_SHA512SUM}\n"
}
},
{
"tool": "storage:put",
"parameters": {
"location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/utils-file_checksum_{job_id}",
"files": [
"tos-per.srt.md5",
"tos-per.srt.sha1",
"tos-per.srt.sha256",
"tos-per.srt.sha512"
]
}
}
]
}
http_request¶
{
"tags": [
"itest",
"utils",
"http_request"
],
"region": "aws:eu-west-1",
"tasks": [
{
"tool": "utils:http_request",
"parameters": {
"url": "https://vtk.castlabs.com",
"method": "GET",
"params": {"id": "1"},
"ignore_errors": true,
"save_as": "response.html"
}
}
]
}
md5sum¶
{
"tags": [
"itest",
"utils",
"md5sum"
],
"region": "aws:eu-west-1",
"tasks": [
{
"tool": "utils:md5sum",
"parameters": {
"input_string": "stringtohash",
"env_name": "key-id",
"uuid_format": true
}
},
{
"tool": "utils:echo",
"parameters" : {
"text": "key-id: {key-id}\n"
}
}
]
}
mkdir¶
{
"tags": [
"itest",
"utils",
"mkdir"
],
"region": "aws:eu-west-1",
"tasks": [
{
"tool": "utils:mkdir",
"parameters": {
"dir": "subtitles"
}
},
{
"parameters": {
"hexvalue": "aabbccddeeff0011223344556677889900",
"outputfile": "subtitles/file"
},
"tool": "utils:write_bytes"
},
{
"tool": "storage:put",
"parameters": {
"location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/utils-mkdir_{job_id}",
"files": [
"subtitles/file"
]
}
}
]
}
mkfifo¶
{
"tags": [
"itest",
"utils",
"mkfifo"
],
"region": "aws:eu-west-1",
"tasks": [
{
"tool": "storage:get",
"parameters": {
"location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN",
"files": [
"tos_5s_video_1920x1080_2mbps.mp4"
]
}
},
{
"tool": "utils:mkfifo",
"parameters": {
"pipe_name": "PIPE"
}
},
{
"tool": "ffmpeg:cmd",
"parameters": {
"arguments": [
"-y",
"-i",
"tos_5s_video_1920x1080_2mbps.mp4",
"-c:v",
"copy",
"-f",
"h264",
"PIPE"
]
}
},
{
"tool": "ffmpeg:cmd|p",
"parameters": {
"arguments": [
"-y",
"-f",
"h264",
"-i",
"PIPE",
"-c:v",
"copy",
"piped.mp4"
]
}
},
{
"tool": "storage:put",
"parameters": {
"location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/utils_mkfifo_{job_id}",
"files": [
"piped.mp4"
]
}
}
]
}
modjson¶
{
"tags": [
"itest",
"utils",
"modjson"
],
"region": "aws:eu-west-1",
"tasks": [
{
"tool": "utils:modjson",
"parameters": {
"location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/utils-modjson_{job_id}/test.json",
"jq": "del(.)"
}
},
{
"tool": "utils:modjson",
"parameters": {
"location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/utils-modjson_{job_id}/test.json",
"jq": ".assetId = \"DRMtoday_Asset_ID\" | .jobId = \"{job_id}\" | .status = [\"Started\"]"
}
}
]
}
notify_email¶
{
"tags": [
"itest",
"utils",
"notify_email"
],
"region": "aws:eu-west-1",
"tasks": [
{
"tool": "utils:notify_email",
"parameters": {
"recipients": ["dev.server.vtk+itest@castlabs.com", "dev.server.vtk+itest2@castlabs.com"],
"infojson": {
"key1": "value1",
"key2": "value2"
}
}
}
]
}
rename¶
{
"tags": [
"itest",
"utils",
"rename"
],
"region": "aws:eu-west-1",
"tasks": [
{
"tool": "storage:get",
"parameters": {
"location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN/",
"files": [
"tos_5s_audio_44100Hz_64k_HE_2chan_eng.mp4",
"tos_5s_audio_44100Hz_64k_HE_2chan_ita.mp4"
]
}
},
{
"tool": "utils:rename",
"parameters": {
"pattern": "2chan_(?P<lang>\\w+).mp4$",
"to": "out/audio-{lang}.mp4"
}
},
{
"tool": "storage:put",
"parameters": {
"location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/utils-rename_{job_id}",
"files": [
"out/*.mp4"
]
}
}
]
}
tar¶
{
"tags": [
"itest",
"utils",
"tar"
],
"region": "aws:eu-west-1",
"tasks": [
{
"parameters": {
"hexvalue": "aabbccddeeff0011223344556677889900",
"outputfile": "subtitles/file"
},
"tool": "utils:write_bytes"
},
{
"tool": "utils:tar",
"parameters": {
"archive": "test.tar.bz2",
"compress": true,
"bzip2": true,
"verbose": true,
"files": "subtitles/*"
}
},
{
"tool": "storage:put",
"parameters": {
"location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/utils-tar_{job_id}",
"files": [
"test.tar.bz2"
]
}
}
]
}
write_bytes¶
{
"tags": [
"itest",
"utils",
"write_bytes"
],
"region": "aws:eu-west-1",
"tasks": [
{
"tool": "utils:write_bytes",
"parameters": {
"hexvalue": "aabbccddeeff0011223344556677889900",
"outputfile": "subtitles/file"
}
},
{
"tool": "storage:put",
"parameters": {
"location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/utils-write_bytes_{job_id}",
"files": [
"subtitles/file"
]
}
}
]
}
write_text¶
{
"tags": [
"itest",
"utils",
"write_text"
],
"region": "aws:eu-west-1",
"tasks": [
{
"tool": "utils:write_text",
"parameters": {
"base64value": "YWFiYmNjZGRlZWZmMDAxMTIyMzM0NDU1NjY3Nzg4OTkwMA==",
"outputfile": "subtitles/file-base64.txt"
}
},
{
"tool": "utils:write_text",
"parameters": {
"textvalue": "00:00:00 -> 00:00:10\nHello {job_id}!",
"outputfile": "subtitles/file-text.txt"
}
},
{
"tool": "storage:put",
"parameters": {
"location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/utils-write_text_{job_id}",
"files": [
"subtitles/file-base64.txt",
"subtitles/file-text.txt"
]
}
}
]
}
zip¶
{
"tags": [
"itest",
"utils",
"zip"
],
"region": "aws:eu-west-1",
"tasks": [
{
"parameters": {
"hexvalue": "aabbccddeeff0011223344556677889900",
"outputfile": "subtitles/file"
},
"tool": "utils:write_bytes"
},
{
"parameters": {
"input_patterns": [
"subtitles/*"
],
"outputfile": "subtitles.zip"
},
"tool": "utils:zip"
},
{
"tool": "storage:put",
"parameters": {
"location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/utils-zip_{job_id}",
"files": [
"subtitles.zip"
]
}
}
]
}
Previous topic: Packaging