yemekhanejson.sh 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #!/bin/bash
  2. URL=https://yemekhane.boun.edu.tr/aylik-menu
  3. raw_data=$(curl -s $URL)
  4. # $1 -> data
  5. # $2 -> item
  6. month=$(echo "$raw_data" | grep -m1 -Po 'aylik_menu-(.*?)-01' | cut -c 12- | rev | cut -c 4- | rev)
  7. n_days=$(cal $(date +"%m %Y") | awk 'NF {DAYS = $NF}; END {print DAYS}')
  8. get_item()
  9. {
  10. echo $(echo "$1" | grep $2 | grep -Po '"">(.*?)<\/a>'| cut -c 4- | rev | cut -c 5- | rev)
  11. }
  12. # $1 -> day
  13. get_menu()
  14. {
  15. local oglen_data=$(echo "$raw_data" | grep -A13 aylik_menu-$month-$(printf %02d $1)-0 | tail -n +7)
  16. local oglen_corba=$(get_item "$oglen_data" ccorba)
  17. local oglen_ana=$(get_item "$oglen_data" anaa-yemek)
  18. local oglen_vegan=$(get_item "$oglen_data" vejetarien)
  19. local oglen_yardimci=$(get_item "$oglen_data" yardimciyemek)
  20. local oglen_aperatif=$(get_item "$oglen_data" aperatiff)
  21. local aksam_data=$(echo "$raw_data" | grep -A28 aylik_menu-$month-$(printf %02d $1)-0 | tail -n +23)
  22. local aksam_corba=$(get_item "$aksam_data" ccorba)
  23. local aksam_ana=$(get_item "$aksam_data" anaa-yemek)
  24. local aksam_vegan=$(get_item "$aksam_data" vejetarien)
  25. local aksam_yardimci=$(get_item "$aksam_data" yardimciyemek)
  26. local aksam_aperatif=$(get_item "$aksam_data" aperatiff)
  27. echo -n '{"tarih":"'$month-$(printf %02d $1)'","ogle":{"corba":"'$oglen_corba'","ana":"'$oglen_ana'","vegan":"'$oglen_vegan'","yardimci":"'$oglen_yardimci'","aperatif":"'$oglen_aperatif'"},"aksam":{"corba":"'$aksam_corba'","ana":"'$aksam_ana'","vegan":"'$aksam_vegan'","yardimci":"'$aksam_yardimci'","aperatif":"'$aksam_aperatif'"}}'
  28. if [ "$1" != "$n_days" ]
  29. then
  30. echo -n ,
  31. fi
  32. }
  33. echo -n {"\""$month"\"":'['
  34. for i in $(seq 1 $n_days)
  35. do
  36. get_menu $i
  37. done
  38. echo -n ']}'