added test to avoid attempting to overwrite files directly in $AONDIR
[project-aon.git] / common / scripts / copy-ebooks.sh
1 #!/usr/bin/env bash
2 #
3 # Copy ebook files for the specified book(s) to a directory structure that's
4 # ready to be pushed to the public website.
5 #
6 # Examples:
7 #
8 #     copy-ebooks.sh 05sots
9 #
10 #     list-bookcodes-by-series.sh gs | xargs copy-ebooks.sh
11
12 if [ ! -d "$AONDIR" ]; then
13     >&2 echo "Please set the AONDIR environment variable"
14     exit
15 fi
16 CURR_DIR=`pwd`
17
18 if [ "$AONDIR" -ef "$CURR_DIR" ]; then
19     >&2 echo "Current directory is the same as AONDIR: giving up"
20     exit
21 fi
22
23 BASE_DIR="$AONDIR/common/epub"
24 book_db="$AONDIR/common/sqlite/bookcodes.db"
25
26 for book in $@
27 do
28     row=($(sqlite3 -separator ' ' $book_db "select lang, series from bookcodes where book = '$book';"))
29
30     lang=${row[0]}
31     series=${row[1]}
32
33     source_dir="$BASE_DIR/$book"
34
35     for format in epub mobi fb2 pdb lrf
36     do
37         output_dir="$CURR_DIR/$lang/$format/$series"
38         mkdir -p "$output_dir"
39         cp -av "$source_dir/$book.$format" "$output_dir"
40     done
41 done