Select Git revision
db_schema.sql
Forked from
Video AG Infrastruktur / website
Source project has a limited visibility.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
publish_video.c 907 B
#include <unistd.h>
#include <libgen.h>
#include <sys/stat.h>
#include "util.h"
int main(int argc, char *argv[])
{
char *src, *dest, *destdir;
if (argc != 5)
return 1;
av_register_all();
init_env();
init_avlogbuf();
jobid = atoi(argv[1]);
ping_job(jobid, "running", 0);
src = buildpath(getenv(WORKER_TMP), jstr(jlookup(argv[4], "source"), 0));
destdir = buildpath(getenv(WORKER_RELEASED), dirname(jstr(jlookup(argv[4], "path"), 0)));
if (access(destdir, F_OK) && mkdir(destdir, 02775))
job_failed("Could not create target directory \"%s\": %s", destdir, strerror(errno));
dest = buildpath(getenv(WORKER_RELEASED), jstr(jlookup(argv[4], "path"), 0));
overwrite_check(dest, 0, 0);
if (rename(src, dest))
job_failed("Overwriting target file failed: %s", strerror(errno));
ping_job(jobid, "finished", "{%s, \"log\": \"%s\"}",
json_fileinfo(dest), jescape(get_avlogbuf()));
return 0;
}