diff --git a/specificdoit.sh b/specificdoit.sh new file mode 100644 index 0000000..b8be0b4 --- /dev/null +++ b/specificdoit.sh @@ -0,0 +1,89 @@ +#!/bin/bash + +specific_run() +{ + local action=$1 + if [[ $action == "list_labs" ]] + then + list_labs ./lab + elif [[ $action == emacsdevenv ]] + then + make -f ${JAVA_MAKEFILE} $action + else + echo "[ERROR] unrecognized specific action $action" >&2 + return + fi +} + + +# first argument mandatory : directory containing generated .lab and .stl files ( usualy ./lab ) +list_labs() +{ + local lab_dir=$1 + if [[ -d $lab_dir ]] + then + modified=0 + s=() + properties=() + values=() + { + pushd $lab_dir + for stl_lab in $(ls *lab*.stl) + do + if [[ $stl_lab =~ ^([^0-9]*[0-9]*x[0-9]*).stl ]] + then + property=${BASH_REMATCH[1]} + value=$stl_lab + s+=("$property" "$value") + properties+=("$property") + values+=("$value") + fi + done + s+=(exit "Exit") + popd + } + + while true + do + property=$($DIALOG --menu "Show stl file from $lab_dir" 20 100 10 ${s[@]} 3>&1 1>&2 2>&3) + if [[ $? = 0 ]] + then + if [[ -n $property ]] + then + if [[ $property == exit ]] + then + return 1 + elif [[ $property == save ]] + then + echo "TODO" + return 0 + fi + prop_len=${#properties[*]} + for (( i=0; i<${prop_len}; i++ )); + do + if [[ ${properties[$i]} == $property ]] + then + blender --python blender_import.py -- $lab_dir/${values[$i]} + fi + done + + fi + else + return 2 + fi + done + else + echo "[ERROR] lab dir '$propertyfile' not found" >&2 + fi + +} + +# specific to laby project +if [[ ! -d lab ]] +then + echo "[INFO] Creating directory lab to save default lab created" + mkdir lab +fi + +specific_menus+=(list_labs "Show_Labyrinth_with_blender") +