Guest User

Untitled

a guest
Jul 18th, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. #!/bin/ash
  2.  
  3. GetBooksFromSubDir() # Сканирование папки второго уровня и ее подпапок
  4. {
  5. SERIAL_PATH=$1
  6. for k in "$SERIAL_PATH"/*
  7. do
  8. if [ -f "$k" ]
  9. then
  10. AddBook "BOOKS" "$k"
  11. elif [ -d "$k" ]
  12. then
  13. GetBooksFromSubDir "$k"
  14. fi
  15. done
  16. }
  17.  
  18. AddSerial() # Добавление коллекции
  19. {
  20. SERIALNAME=$1
  21. BOOKLIST=$2
  22. if [ ${#BOOKLIST} -ne 0 ]
  23. then
  24. BOOKLIST=$(expr substr "$BOOKLIST" 1 $((${#BOOKLIST}-1)))
  25. SERIALS="$SERIALS\"$SERIALNAME@en-US\":{\"items\":[$BOOKLIST],\"lastAccess\":$(date +%s)},"
  26. fi
  27. }
  28.  
  29. AddBook() # Добавление книги в коллекцию
  30. {
  31. BOOKLISTNAME=$1
  32. BOOK=$2
  33. IsBook "$BOOK"
  34. if [ $? -eq 1 ]
  35. then
  36. eval $BOOKLISTNAME="\$${BOOKLISTNAME}"'\"*$(echo -n $BOOK | openssl sha1)\",'
  37. fi
  38. }
  39.  
  40. IsBook() # Проверка является ли файл книгой
  41. {
  42. FILENAME=`echo "$1" | tr '[A-Z]' '[a-z]'`
  43. FILEEXT=`echo "$FILENAME"|awk -F "." '{printf("%s", $NF)}'`
  44. for EXT in mobi pdf txt azw mp3 # Расширения файлов добавляемых в коллекцию
  45. do
  46. if [[ $FILEEXT == $EXT ]]
  47. then
  48. return 1
  49. fi
  50. done
  51. return 0
  52. }
  53.  
  54. GetSerialsFromDir() # Получение списка коллекций из папки
  55. {
  56. DIRECTORY=$1
  57. for i in "$DIRECTORY"/*
  58. do
  59. if [ -d "$i" ]
  60. then
  61. BOOKSINFOLDER=""
  62. for j in "$i"/*
  63. do
  64. if [ -d "$j" ]
  65. then
  66. BOOKS=""
  67. GetBooksFromSubDir "$j"
  68. AddSerial "$(basename "$i") - $(basename "$j")" $BOOKS
  69. elif [ -f "$j" ]
  70. then
  71. AddBook "BOOKSINFOLDER" "$j"
  72. fi
  73. done
  74. AddSerial "$(basename "$i")" $BOOKSINFOLDER
  75. fi
  76. done
  77. }
  78.  
  79. if [ ! -d "$(dirname $0)/backup" ]
  80. then
  81. mkdir "$(dirname $0)/backup"
  82. fi
  83. if [ ! -f "$(dirname $0)/backup/collections.json" ]
  84. then
  85. cp /mnt/us/system/collections.json $(dirname $0)/backup/collections.json
  86. fi
  87.  
  88. SERIALS=""
  89. BOOKS=""
  90. BOOKSINFOLDER=""
  91.  
  92. for SCANDIR in documents audible # Папки в который производится сканирование
  93. do
  94. GetSerialsFromDir "/mnt/us/$SCANDIR"
  95. done
  96. SERIALS=$(expr substr "$SERIALS" 1 $((${#SERIALS}-1)))
  97. echo "{$SERIALS}" > /mnt/us/system/collections.json
  98.  
  99. /etc/init.d/framework restart # Перезагрузка фреймворка
Add Comment
Please, Sign In to add comment