diff --git a/.gitignore b/.gitignore deleted file mode 100644 index a136337..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.pdf diff --git a/scanbuddy.bash b/scanbuddy.bash index 06565ab..ca61674 100755 --- a/scanbuddy.bash +++ b/scanbuddy.bash @@ -1,90 +1,59 @@ #!/usr/bin/env bash -# device="brother5:bus2;dev2" -device=$(scanimage -f "%d%n" | grep brother5 | head -n 1) -echo "Selecting scanner '$device'" - -# option values for the brother DS-740D scanner -simplex_source='Automatic Document Feeder(left aligned)' -duplex_source='Automatic Document Feeder(left aligned,Duplex)' -color_mode='24bit Color[Fast]' -bw_mode='Black & White' -grayscale_mode='True Gray' -valid_resolutions=("100" "150" "200" "300" "400" "600" "1200") - -# default options for scanning -sides=$simplex_source -mode='c' +brother_opts=() +scanner_mode='Black & White' resolution='300' +source='Automatic Document Feeder(left aligned)' +duplex_source='Automatic Document Feeder(left aligned,Duplex)' +device="brother5:bus4;dev3" + +valid_resolutions=("100" "150" "200" "300" "400" "600" "1200") current_page=$(find "$PWD" -name "out*.pdf" | sort | tail -n 1); read -r current_pageno <<<"${current_page//[^0-9]/ }" + current_pageno=${current_pageno:-0} -last_out_file="out$current_pageno.pdf" + next_out_file="out$((current_pageno+1)).pdf" scan() { - usage() { - echo "scanbuddy.bash scan -d -r -b " - } - - while getopts "dr:c:" flag; do + while getopts "dr:" flag; do case ${flag} in d) echo "Scanning duplex" - sides=$duplex_source + source=$duplex_source ;; r) + echo "Resolution=$OPTARG" if [[ ! " ${valid_resolutions[*]} " =~ [[:space:]]${OPTARG}[[:space:]] ]]; then - echo "Resolution '$OPTARG' not supported!" - echo "Supported resolutions: $(printf %s "${valid_resolutions[*]}")" + echo "Resolution not supported" exit 1 fi - resolution=$OPTARG ;; - c) - mode=$OPTARG + b) + echo "Black and white"; ;; *) ;; esac done - - case $mode in - c) - scanner_mode=$color_mode - ;; - b) - scanner_mode=$bw_mode - ;; - g) - scanner_mode=$grayscale_mode - ;; - *) - echo "Mode '$mode' not supported! Supported modes: (c)olour|(b)lack & white|(g)reyscale" - ;; - esac - - echo "Scanning to '$next_out_file'..." - scanimage \ - --device-name=$device \ - --format=pdf \ - --output-file="$next_out_file" \ - --mode="$scanner_mode" \ - --resolution="$resolution" \ - --source="$sides" \ - -x 210 -y 297 # A4 } case "$1" in scan) scan "${@:2}" - ;; - unscan) - rm "$current_pageno" - ;; - dispatch) + exit 0 + + if [ "$2" = "duplex" ]; then + true + fi + + # cat <