hapi.assetsupload

Set of Scripts to easily bulk upload assets in a HAPI instance.

Scripts to easily bulk upload assets in an existing HAPI instance.

You need coffee-script 1.6.x installed globally on your machine:

npm install -g coffee-script@1.6.x

then install the scripts with

npm install hapi.assetsupload

First thing you need to setup the script with all the credentials needed to communicate with a HAPI instance and uploade files to a S3 Bucket.

Run hapi.assetsupload upload

It will ask you a series of questions regarding the HAPI instance you want to interact with and the S3 bucket you want to use.

Once you've setup your credentials, you can run the script.

hapi.assetsupload start <path to assets folder>

the path can be absolute or relative to the folder you are running the script from.

The script will process only .png, .jpeg and .jpg files.

The file names need to follow this structure:


For thumbnail images:

GOODLABEL_CATEGORYLABEL_ASSETLABEL_REPRESENTATIONLABEL_thumbnail.png

princess_head_promqueen_standard_thumbnail.png

In this example the process will interpret the file as:

  • GOODLABEL = princess
  • CATEGORYLABEL = head
  • ASSETLABEL = promqueen
  • REPRESENTATIONLABEL = standard

And it will know to treat it as a thumbnail.


For layers:

GOODLABEL_CATEGORYLABEL_ASSETLABEL_REPRESENTATIONLABEL_LAYERLABEL-INDEX-COLOUR.png

Note that the last part of the file name for layers, defines the layer's properties (index and colour) which are separated with a - (dash) instead of an _ (underscore).

princess_head_promqueen_standard_image-00-0.png

In this example the process will interpret the file as:

  • GOODLABEL = princess
  • CATEGORYLABEL = head
  • ASSETLABEL = promqueen
  • REPRESENTATIONLABEL = standard
  • LAYERLABEL = image
  • INDEX = 0
  • COLOUR = 0

INDEX can only be an integer value which defines the stacking order of the layer. It can have n leading '0', for example '001'.

Possible values for COLOUR are:

  • 0 = none
  • 1 = primary
  • 2 = secondary

As for LAYER it can have n leading '0', for example '001'.


Assets can be placed in nested folders, the script will walk through all of them.