Ledger Nano X - The secure hardware wallet
SHARE
TWEET

Untitled

a guest Jul 7th, 2018 71 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2. #у меня этот скрипт называется getsound
  3.     #путь для кешированных слов
  4. CACHE_DIR="/home/mp3/words"
  5.     #принимаем только один параметр:
  6.     #произносимое слово
  7. WORD=$1
  8.     #командная строка плеера.
  9.         #Пробовал mpg123 и mplayer
  10. PLAYER="mpg123"
  11. RULE=/home/bin/dump.js
  12.  
  13. #===================================================================
  14. speak () {
  15.     `$PLAYER "$1" 2>/dev/null`
  16.     }
  17.    
  18. pop_cache () {
  19.     C_FILES=$(ls $CACHE_DIR|grep -e "$WORD[0-9].mp3")
  20.     if [ ! -z "$C_FILES" ] ; then  
  21.         for FILE in $C_FILES ;
  22.         do
  23.             speak $CACHE_DIR\/$FILE
  24.         done
  25.         #если отработали до этого момента
  26.         #выходим
  27.         exit 0 
  28.     fi
  29.     }
  30.  
  31.     #перво наперво проверяем кеш
  32.     #если кеш есть на этом и кончим
  33. pop_cache
  34.  
  35. get_page () {
  36.     #получаем текст страницы, из него будем выдирать ссылку
  37. curl "https://dictionary.cambridge.org/us/dictionary/english/$WORD"
  38.     }
  39.  
  40. push_cache() {
  41.     #COUNT предполагает что при
  42.     #использовании push_cache() в цикле
  43.     #ему будет передан номер итерации
  44.     #каждый вызов, вторым параметром.
  45.     #Эта нумерация используется для имен файлов
  46.     #в кеше, перечисляя варианты по каждому запросу
  47.     local COUNT=$2
  48.  
  49.     local INPUT_LINE=$1
  50.  
  51.     wget --no-check-certificate $INPUT_LINE -O $CACHE_DIR\/$WORD$COUNT.mp3 2>/dev/null
  52.     }
  53.  
  54.     #Типа main
  55.     #в два каскада фильтруем текст страницы: сначала вычленяем строку по названию кнопки,
  56.     #и уже из этого результата выдираем непосредственно ссылку на нужный файл
  57. ADDRESS=$(get_page|sed -n '/sound audio_play_button uk/ {
  58. s_.*http\([^"]*\)\.mp3.*_http\1\.mp3_
  59. p
  60. }')
  61.  
  62. if [ -z "$ADDRESS" ] ; then echo "the word was not found at the cambrige pronounce base"; exit 1; fi
  63.  
  64.     #далеко не всегда мы будем получать в ответ одну ссылку,
  65.     #поэтому в цикле
  66. COUNT=0
  67. for INPUT_LINE in $ADDRESS
  68.     do
  69.         push_cache $INPUT_LINE $COUNT
  70.         ((COUNT++))
  71.     done
  72. pop_cache
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top