Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/ash
- cfile=/mnt/us/system/collections.json
- wdir=`dirname "$0"`
- AddSerial() {
- [ ${#2} -ne 0 ] && {
- [ ${first:-yes} == yes ] && { echo { > $cfile; first=no; } || { echo ,\ >> $cfile; }
- echo '"'$1'@en-US":{"items":['${2%,}'],"lastAccess":'`date +%s`'}' >> $cfile
- }
- }
- AddBookWithASIN() {
- echo "$1" | grep -qi asin_ && {
- ASIN=`echo "$1"|sed 's!.*asin_!!;s!-.*!!'`
- TYPE=`echo "$1"|sed 's!.*type_!!;s!-.*!!'`
- [ ${#ASIN} -gt 0 -a ${#TYPE} -gt 0 ] && BOOKID='"#'$ASIN^$TYPE'",'
- }
- [ ${#BOOKID} -eq 0 ] && {
- ASIN=`sed -n '/^q$/{s!.*!!;N;N;N;s![[:space:]]*[(,[:cntrl:]]*!!;/^[A-Za-z0-9]/{p;q;};}' "$1"`
- TYPE=`sed -n '/^[[:cntrl:]]?$/{s!.*!!;N;N;N;s![[:space:]]!!g;/^[A-Z]/{p;q;};}' "$1"`
- [ ${#ASIN} -gt 0 -a ${#TYPE} -gt 0 ] && BOOKID='"#'$ASIN^$TYPE'",'
- }
- }
- AddAZW2() {
- unzip -oq "$1" META-INF/MANIFEST.MF -d "$wdir/temp"
- ASIN=`awk '$0~/^Amazon-ASIN: / {print $2}' "$wdir/temp/META-INF/MANIFEST.MF"`
- [ ${#ASIN} -gt 0 ] && BOOKID='"#'$ASIN^AZW2'",'
- rm -rf "$wdir"/temp/*
- }
- AddBook() {
- BOOKID=""
- FILEEXT=`echo "$1"|awk -F. '{printf "%s",tolower($NF)}'`
- for EXT in mobi pdf txt prc azw azw2 mp3; do
- [ $FILEEXT == $EXT ] && {
- [ $FILEEXT == azw -o $FILEEXT == mobi ] && AddBookWithASIN "$1"
- [ $FILEEXT == azw2 ] && AddAZW2 "$1"
- [ ${#BOOKID} -eq 0 ] && BOOKID='"*'`echo -n "$1" | openssl sha1`'",'
- BOOKS="$BOOKS$BOOKID"
- return 1
- }
- done
- }
- mkdir -p "$wdir/backup" "$wdir/temp"
- [ ! -f "$wdir/backup/collections.json" ] && cp $cfile "$wdir/backup"
- for i in /mnt/us/documents /mnt/us/audible; do
- find "$i" -type d | sed 1d | sort -r | while read dir; do
- for k in "$dir"/*; do [ -f "$k" ] && AddBook "$k"; done
- AddSerial "${dir#/mnt/us/*/}" $BOOKS; BOOKS=""
- done
- done
- echo } >> $cfile
- /etc/init.d/framework restart
Advertisement
Add Comment
Please, Sign In to add comment