#!/bin/bash if [ -f ".env" ]; then source .env fi if [[ "${DB_FILE}" != "" ]]; then FULL_DATABASE=`realpath "${DB_FILE}"` else FULL_DATABASE=`realpath "./draw.sqlite"` fi db () { sqlite3 "${FULL_DATABASE}" "${1}" } dbSetup () { cat "./sql/setup.sql" | sqlite3 "${FULL_DATABASE}" } hashStr () { echo -n "${1}" | sha256sum | awk '{print $1}' } hashFile () { sha256sum "${1}" | awk '{print $1}' } uuid () { uuidgen | tr "[:upper:]" "[:lower:]" } askContinue () { echo "${1}" echo "Are you ready to continue? (yes/no)" read input if [ "$input" != "n" ] && [ "$input" != "no" ] then echo "${2}" else exit 1 fi } axdraw () { file=$(realpath "${1}") echo "FILE:${file}" if [[ "${PEN}" != "" ]]; then echo "PEN:${PEN}" fi echo "START:$(date '+%s')" ax "${1}" 2>&1 echo "END:$(date '+%s')" } get_frame_axis () { cat "${1}" | jq -r '.["'${2}'"]["'${3}'"].'${4} } get_outer_ratio_frame () { AX=$(get_frame_axis ${1} ${2} 0 x) AY=$(get_frame_axis ${1} ${2} 0 y) BX=$(get_frame_axis ${1} ${2} 1 x) BY=$(get_frame_axis ${1} ${2} 1 y) CX=$(get_frame_axis ${1} ${2} 2 x) CY=$(get_frame_axis ${1} ${2} 2 y) DX=$(get_frame_axis ${1} ${2} 3 x) DY=$(get_frame_axis ${1} ${2} 3 y) ACX=$(echo "${CX}-${AX}" | bc) DBX=$(echo "${DX}-${BX}" | bc) ACY=$(echo "${AY}-${CY}" | bc) DBY=$(echo "${DY}-${BY}" | bc) echo "scale=4;((${ACY}+${DBY})/2) / ((${ACX}+${DBX})/2)" | bc } get_outer_ratio () { A=$(get_outer_ratio_frame "${1}" 0) B=$(get_outer_ratio_frame "${1}" 1) C=$(get_outer_ratio_frame "${1}" 2) D=$(get_outer_ratio_frame "${1}" 3) echo "scale=4;(${A}+${B}+${C}+${D})/4" | bc }