diff --git a/src/server/slave.c b/src/server/slave.c --- a/src/server/slave.c +++ b/src/server/slave.c @@ -120,7 +120,6 @@ int main(int argc, char *argv[]) char *pathtoOutput; /* Full path to the output (rendered) file */ char *pathtoJobfile; /* Full path to the job's main file */ - char *pathtoXml; /* Full path to the job's xml file */ char *outputExt; /* Output Extension (e.g., JPG) */ int haveWork = 0; @@ -141,38 +140,18 @@ int main(int argc, char *argv[]) /* @TODO: Add remotio hooks */ // jobnum = remoteio_read(jobnum); /* Set jobnum from remoteio (we could use info from struct, but we need this info to download the xmlfile */ // framenum = remoteio_read(jobnum); /* Set framenum from remoteio */ + // outputExt = remotio)read(outputExt); /* Set output extension from remotio */ fprintf(stderr, "Preparing to render frame %d in job %d\n", framenum, jobnum); - prepareJobPaths(jobnum, datadir, &urltoTar, &pathtoTar, &pathtoJobfile, &urltoOutput, &pathtoXml); + prepareJobPaths(jobnum, framenum, outputExt, datadir, &urltoTar, &pathtoTar, &pathtoJobfile, &urltoOutput, &pathtoOutput); + free(outputExt); if(downloadTar(urltoTar, pathtoTar)) return 1; unpackJob(pathtoTar, jobnum); - /* Parses a job's XML file, puts data in the myjob struct */ - if(distrenjob_unserialize(&myjob, pathtoXml) == 0) - { - fprintf(stderr, "Well, the XML craziness may have worked. Maybe. \n"); - free(pathtoXml); - - /* Frees things up if it was successful. distrenjob_unserialize() really (usually) only fails if malloc'ing inside it fails */ - distrenjob_free(&myjob); - } - else - { - fprintf(stderr, "XML job data parsing has failed. Please contact a developer, or try again.\n"); - return 1; - } - - /* Variable-fillers which require XML */ - outputExt = myjob->output_format; - - /* Prepares the path to the jobfile */ - _distren_asprintf(&pathtoOutput, "%s/job%d/output/job%d-frame%d.%s", datadir, jobnum, jobnum, framenum, outputExt ); - free(outputExt); - /* Execute blender */ if(exec_blender(pathtoJobfile, pathtoOutput, framenum)) { diff --git a/src/server/slavefuncs.c b/src/server/slavefuncs.c --- a/src/server/slavefuncs.c +++ b/src/server/slavefuncs.c @@ -457,7 +457,7 @@ int unpackJob(char *pathtoTar, int jobnu } -void prepareJobPaths(int jobnum,char *datadir, char **urltoTar,char **pathtoTar,char **pathtoJobfile,char **urltoOutput,char **pathtoXml){ +void prepareJobPaths(int jobnum, int framenum, char *outputExt, char *datadir, char **urltoTar,char **pathtoTar,char **pathtoJobfile,char **urltoOutput,char **pathtoOutput){ // Variable Preparation char *jobdatapath; _distren_asprintf(&jobdatapath, "job%d", jobnum); @@ -465,7 +465,7 @@ void prepareJobPaths(int jobnum,char *da _distren_asprintf(pathtoTar, "%s/stor/jobdata/job%d.tar.gz", datadir, jobnum); // Prepares destination to save to _distren_asprintf(pathtoJobfile, "%s/%s/job.blend", datadir, jobdatapath ); // Prepares the path to the jobfile _distren_asprintf(urltoOutput, "http://distren.org/slaveUpload.php"); // Prepares the URL where output is posted - _distren_asprintf(pathtoXml, "%s/job%d/job%d.xml", datadir, jobnum ); // Prepares the path to the job's XML file + _distren_asprintf(pathtoOutput, "%s/job%d/output/job%d-frame%d.%s", datadir, jobnum, jobnum, framenum, outputExt ); free(jobdatapath); } diff --git a/src/server/slavefuncs.h b/src/server/slavefuncs.h --- a/src/server/slavefuncs.h +++ b/src/server/slavefuncs.h @@ -49,7 +49,7 @@ int job_build_path(char *filename, unsig int downloadTar(char *url, char *destinationPath); int uploadOutput(char *pathtoOutput, char *urltoOutput, int jobnum, int framenum, int slavekey); int unpackJob(char *pathtoTar, int jobnum); -void prepareJobPaths(int jobnum,char *datadir, char **urltoTar,char **pathtoTar,char **pathtoJobfile,char **urltoOutput,char **pathtoXml); +void prepareJobPaths(int jobnum, int framenum, char *outputExt, char *datadir, char **urltoTar,char **pathtoTar,char **pathtoJobfile,char **urltoOutput,char **pathtoOutput); int checkUsername(char *username); void slaveTest();