Package: diva-boiler
installation# install pipxpython3-mpipinstall--userpipx
python3-mpipxensurepath# install boiler toolspipxinstalldiva-boiler

boilerloginstumpfusageThis documentation provides some useful examples, but is not exhaustive.# to get up-to-date documentation, use the help optionboiler[noun]--help
boiler[noun][verb]--helplocal data validationboiler has utilities to validate KW18 data.  These areofflineoperations.# show kw18 helpboilerkw18validate--help# validate a single set a kw18 filesboilerkw18validateexamples/kw18/minimal# find and validate all kw18 files recursivelyboilerkw18validate-rexamples/kw18For this command, it is assumed that all files associated with a KW18
dataset have the same base name and there is only one*.kw18file
per directory.searching for videosboilervideosearch--help
boilervideosearch--name2018-03-15.10-35-00.10-40-00.school.G336
boilervideosearch--scenariobasketball--gtagG336By default, this command will return only the first 20 matches.  You can get the next
set of results using the--pageoption.boilervideosearch--page2downloading annotation dataThe following command will download KPF files for one or more videos to the
current directory.  This will fetch the most recent version of all data as
it currently exists in the system (including unaudited annotations).boilerexportvideo--help
boilerexportvideo2018-03-15.10-35-00.10-40-00.school.G3362018-10-15.17-05-00.17-10-00.alb.G333video pipelinedispatch annotation tasks to vendorsOnce a video exists, it can be transitioned to the annotation state.boilervendordispatch--help# generate the list of known activity types to fileboileractivitylist-types>activity-list.txt# specify a video, vendor, and list of activities to transition to the annotation stageboilervendordispatch\--namekitware\--video-name2999-01-01.00-00-00.00-05-00.admin.G999\--activity-type-listactivity-list.txt\--set-nametest-set--annotation-repo-pathiMerit/2018-09-06/08/2018-09-06.08-20-00.08-25-00.alb.G229/37-activitiesAlternatively, the dispatch can be doneafterthe results have been returned from the vendor.
This can be done in bulk as follows:boilerkw18dispatch\--vendorimerit\--set-nametesting\--activity-type-listactivity-list.txt\m2-annotations-imerit/iMerit/2018-09-06/*/37-activitiesThis command also support a--recursiveflag to search recursively for kw18 files under each
listed path.vendor activity ingestionWhen activities come back from vendors, they should be transitioned to the audit state.boilerkw18ingest--help# list each directory explicitly to ingestboilerkw18ingestm2-annotations-imerit/iMerit/2018-09-06/*/37-activities# or run recursivelyboilerkw18ingest--recursivem2-annotations-imerit/iMeritStumpf will first detect whether the files have changed or not.  If they have
not, no further action will be taken.  If they have, then Stumpf will:Generate a transition to the "annotation" statusRun server side validationIf validation fails, return failure informationIf validation succeeds, transition to the "audit" state
and ingest activities from the KW18 filesaudited annotation ingestionTo dispatch videos to gunrunner, use the following command.boilergunrunnerdispatch--help
boilergunrunnerdispatch--activity-type-list47-activities.txt\m2-annotations-audit/2018-10-15/08/2018-10-15.08-15-00.08-20-00.alb.G333/47-activities