Beri bash i ebash / Говнокод #7102 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
Request() { 
 Info "Добро пожаловать в VKSearch $sys_version!"
 Info "Загрузка списка треков..."
 vkapi_signature=$(echo -n "${vkapi_id}api_id=1696393count=${cfg_search_count}method=audio.searchq=${query}test_mode=1v=2.0${vkapi_secret}"|md5sum|awk '{print $1}')
 wget "http://api.vkontakte.ru/api.php?api_id=1696393&count=${cfg_search_count}&v=2.0&method=audio.search&sig=${vkapi_signature}&test_mode=1&q=$query" -qO "${sys_temp}/vksearch.out"
 found=$(cat ${sys_temp}/vksearch.out | sed -ne 's,<count>\([^<]*\)</count>,\1,p'|sed 's/^[ \t]*//')

 error_msg="$(cat ${sys_temp}/vksearch.out | sed -n 's|<error_msg>\(.*\)</error_msg>|\1|p'|sed 's/^[ \t]*//'|head -n1 )"
 error_code="$(cat ${sys_temp}/vksearch.out | sed -n 's|<error_code>\(.*\)</error_code>|\1|p'|sed 's/^[ \t]*//'|head -n1)"
 [ -n "$error_msg" ] && Info "Ошибка: $error_msg (Код $error_code)" die
 
 song_count=$(cat ${sys_temp}/vksearch.out | grep '<url>'|wc -l )
 [ $song_count -eq 0 ] && Info "По запросу ${query} не найдено ни одного трека..." die || Info "По запросу ${query} найдено ${found} композиций. Обработка первых ${song_count}."
}

Parse() { 
 OLD_IFS=$IFS
 IFS=$'\n'
 song_urls=( `cat ${sys_temp}/vksearch.out | sed -n 's|<url>\(.*\)</url>|\1|p'|sed 's/^[ \t]*//' ` )
 song_artists=( `cat ${sys_temp}/vksearch.out | sed -n 's|<artist>\(.*\)</artist>|\1|p'|sed 's/^[ \t]*//' ` )
 song_titles=( `cat ${sys_temp}/vksearch.out | sed -n 's|<title>\(.*\)</title>|\1|p'|sed 's/^  //' ` )
 song_durations=( `cat ${sys_temp}/vksearch.out |sed -n 's|<duration>\(.*\)</duration>|\1|p'|sed 's/^[ \t]*//' ` )
 song_counts=$(( ${#song_urls[@]} - 1 ))
 IFS=$OLD_IFS
}

RemoveDoubles() {
 rm ${sys_temp}/vksearch.pars* 2>&-
 Info "Начинаю удаление треков с одинаковой длительностью..."
 for i in `seq 0 $song_counts`
 do
  echo "<1>${song_durations[$i]}<2>${song_artists[$i]}<3>${song_titles[$i]}<4>${song_urls[$i]}<5>" >> ${sys_temp}/vksearch.parsing 
 done
 cat ${sys_temp}/vksearch.parsing | sort -n | uniq -w 6 > ${sys_temp}/vksearch.parsed
 cat ${sys_temp}/vksearch.parsing | sort -n | uniq -w 6 -d > ${sys_temp}/vksearch.doubles
 OLD_IFS=$IFS
 IFS=$'\n'
 song_urls=( `cat ${sys_temp}/vksearch.parsed |sed -ne 's,.*<4>\([^<]*\)<5>.*,\1,p' ` )
 song_artists=( `cat ${sys_temp}/vksearch.parsed |sed -ne 's,.*<2>\([^<]*\)<3>.*,\1,p' ` )
 song_titles=( `cat ${sys_temp}/vksearch.parsed | sed -ne 's,.*<3>\([^<]*\)<4>.*,\1,p' ` )
 song_durations=( `cat ${sys_temp}/vksearch.parsed |sed -ne 's,.*<1>\([^<]*\)<2>.*,\1,p' ` )
 song_counts=$(( ${#song_urls[@]} - 1 ))
 IFS=$OLD_IFS
 Info "В плейлисте осталось ${#song_urls[@]} треков." 
}

парочка функций из моего проекта VKSearch - поиск и сохранение музыки ВКонтакте на shell... -_-

Запостил: snoopcatt snoopcatt, (Updated )

Комментарии (9) RSS

  • ДNALRIINMYYJDESCFFDZBERHTKBRQFGRXGPMHWVTHIKNJVDOLSXKHYLAXEQFRFTAXCRMUOEBKFYXPTZMFDYTHNXQCPARCEIOSRBCVCVEFBMAGJKGWLJVYZDHZDLQRHKAVNAADEKEZZCNLSLSHGBYYZJWNNALKHNYOPUNLMEUADAAZIZSFBYIXUJWLYJPWXUZZSNTQBZHODFLJSYQNBESYVBERLFKXQPRVIXQZLFKALMBBFTAIEZURGJDNCZERSZFDRDHYUXRYUGACAPSMIZUGFAMIEITBBBSOSTXPIAIDTCSXHQVIUDKQPTLRTQZEOCOSBZAMOQXEZXFLFQMDWVWFAEUXVGTOIDQPJEHGEADCOGNJRYHRJW
    Ответить
  • бR!K K,V$P?O"Z(J$H"CS)WB L L N"J L,P$O"T$R"OG:T,J$O"H$H?E)D:B.U?B)D"Y(J B!K D?M?VII?AP,W.N,RRQ D:W$U?B!K)S,VI)BL"X)Q.M.I.C:M.P"G$O.U,P H X?Z.IH(D E"M Z"D,U.M"R?UY,XVZ.I(V$R$R,A)N,C Y)I,I(M?Y(Z"H"C,FE!O,X?I,J,C(K(P!VS?P(A$Z!G(M?G:N.I?W:A.W$T(P.X(B"U?C U(PI)Y?F G!P$D!G(E?U,Z?I!F:F!RW(M$NY)B$X)Y"L$E?R!O?O.S?T(W!X"B)F!C F?U.I(D.V,B(U?M F(W!G:O)V$E)T"Q"J O"S$GK!S(B(Q.M"I H"L.X"T.X(H,M.NN"S,E:W?X L(JR:Y$Z)P!I,K?P)P)E E(G,Q)D?C(L I!WA O.S?K$E,C!Q!G"E V(P:S)W(P$K)M!M P.S N!J"C"D E"E!I(P,N TF.P AC.P.B.U$P?K:M)K,P(B K.X$C,M:E$Y!F:M:Y(J$S(L"H"E)P$TY"D(L.U)O(W KD.Q:S:V:E:C!I$FS,A$M?E$D)S:H?H)X?B$R!W$I,F!M$V"AM$Y,C$U!T$O)D(T.F,T:A?X L!N)D?XU?L D)AСROKPWSDRQMPMAHDDBNDSQNLMHNZEQHMSXZAUGGNNSWCLMXXUUFKTQNLGMEQZZIVHXMYKKQPBWEHEHMBJYWODQACFVBMHWDLTMOWVKLCRTMLZLFORITADVZWGNNJEFBJPFJJOOQQNUEKEFQJSXEVNSMLPYIMTFILTQMXDPHWCDDZRTRHYGYCDFZZGBG
    Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8