Skip to content

eulersson/cerda

Repository files navigation

cerda

Cerda CLI

Welcome to Cerda's documentation. This tool will allow you to transfer the files that get rendered at renderfarm to either local disk or Dropbox account. Also there is a notification feature that allows you to get sent an email after a specific number of frames get rendered. Cool, innit?

NOTE: This is intended to be used at NCCA labs only.

Follow these steps in the labs. I wrote how to install pip locally because we don't have sudo privileges, pity. No worries it is literally 3 lines of code as I like to keep things simple.

WARNING: This tool is in early stage. Please contribute reporting issues on http://github.com/docwhite/cerda or directly by speaking to that Spanish shy guy in the labs, or drop me an email [email protected]

Upcoming features:

  • Direct integration with Qube: There will be no need to do all the steps to dispatch the job to the render farm.
  • Improved mail formatting with thumbnails of what has been rendered.

Prerequisites

If you are in the labs you will need to install pip locally. Follow these steps carefully:

Open a terminal and change directory to home

$ cd ~

Get the pip installer script with wget (downloads a file form the web)

$ wget https://bootstrap.pypa.io/get-pip.py -P ~

Install pip locally (it will get installed to ~/.local)

$ python ~/get-pip.py --user

Append the binaries directory that contains all the pip executables to your $PATH variable. Either do it manually or simply execute this line of code that will write a new line on your .bashrc file

$ echo "PATH=\$PATH:~/.local/bin" >> ~/.bashrc

Close the shell and start a new one. Alternatively reload your profile

$ source ~/.bashrc

Installation

Now you got pip up and running! The next move is to install the tool using it

$ pip install cerda --user

Usage

Check out the help command cerda -h::

usage: cerda [-h] [-dbox] [-e EMAIL] [-c COUNT] [-r EVERY] [-t CUSTOMTYPES]
             source target

An NCCA render farm collector.

positional arguments:
  source                Remote location path (relative to home) where the
                        frames get generated.
  target                Custom file extensions to mark for transfering. I.e.
                        -t tiff,exr,obj

optional arguments:
  -h, --help            show this help message and exit
  -dbox, --dropbox      Will send the files to the root path of your dropbox
                        account.
  -e EMAIL, --email EMAIL
                        Email address to send notification to after -c frames
                        have been rendered.
  -c COUNT, --count COUNT
                        At this numer of frames, send an email to the address
                        specified with -m flag.
  -r EVERY, --every EVERY
                        How often to check for frames dropped (in seconds)
  -t CUSTOMTYPES, --customTypes CUSTOMTYPES
                        Custom file extensions to mark for transfering. I.e.
                        -t tiff,exr,obj

WARNING: Please make sure the paths you pass in are relative to your home folder.

Examples

Example 1

My renderfarm is rendering out the frames at /home/i7243466/project1/render on the tete server. I want the frames to get transfered to my local drive at location /home/i7243466/rendered/frames

$ cerda project1/render rendered/frames

Or you could also use the short flags

$ cerda project1/render rendered/frames

Example 2

My renderfarm is rendering out the frames at /home/i7243466/project1/render on the tete server. I want the frames to get transfered to my Dropbox account under /some/folder

$ cerda project1/render some/folder --dropbox

Or

$ cerda project1/render rendered/frames -dbox

Example 3

My renderfarm is rendering out the frames at /home/i7243466/project1/render on the tete server. I want the frames to get transfered to my Dropbox account under /some/folder and when it has finished rendering, which means 20 frames get collected, send me an email notification

$ cerda project1/render some/folder --dropbox --email [email protected] --count 20

Or

$ cerda project1/render rendered/frames -dbox -e [email protected] -c 20

When it is finished you will receive an email from [email protected]. Hopefully it won't get blocked as I am using Google's own SMTP servers.

If you find any problem or bug please report it using the Issues page or drop me a line at [email protected]

Example 4

My renderfarm is rendering out Alembic .abc files at /home/i7243466/project1/render on the tete server. I want the files to get transfered to my local drive at location /home/i7243466/hello/alembics::

$ cerda project1/render hello/alembics --customTypes abc

Or you could also use the short flags::

$ cerda project1/render hello/alembics --t abc

You can specify more than custom type to transfer like --customTypes png,jpg,abc,tiff No spaces, separated by commas.