appimagehub2github 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/usr/bin/env bash
  2. # THIS IS A SCRIPT i USE TO CONVERT ALL THE OLD SCRIPTS FROM APPIMAGEHUB TO NEW SCRIPTS USING THE STANDARD OF THE APPIMAGES FROM GITHUB
  3. # FIRST OF ALL, WE NEED TO CREATE A FILE CONTAINING ALL THE ARGUMENTS THAT THIS SCRIPT MUST READ
  4. ARGS=$(sed '1d' ./list)
  5. # THEN WE NEED THE TEMPLATE
  6. if test -f ./AM-SAMPLE-AppImage-from-GitHub; then
  7. echo " The template already exists" 1> /dev/null
  8. else
  9. wget -q https://raw.githubusercontent.com/ivan-hc/AM-Application-Manager/main/templates/AM-SAMPLE-AppImage-from-GitHub
  10. fi
  11. # THIS IS THE WORKFLOW
  12. for arg in $ARGS; do
  13. for var in $arg; do
  14. if [ $arg == STOP ]; then
  15. exit
  16. else
  17. case $arg in
  18. *) for var in $arg;
  19. do
  20. APPNAME=$(cat oldscripts/$arg | grep APPNAME= | head -1 | cut -c 9-)
  21. REPO=$(curl -L -s https://raw.githubusercontent.com/AppImage/appimage.github.io/master/apps/$APPNAME.md | grep -A1 "type: GitHub" | sed -n 2p | cut -c 10-)
  22. echo -----------------------------------
  23. echo $arg
  24. echo ""
  25. # THE FOLLOWING COMMAND WILL SHOW YOU THE URL OF THE APP YOU WANT TO CONVERT THE SCRIPT FOR
  26. wget -q https://api.github.com/repos/$REPO/releases -O - | grep -w -v i386 | grep -w -v i686 | grep -w -v aarch64 | grep -w -v arm64 | grep -w -v armv7l | grep browser_download_url | grep -i appimage | cut -d '"' -f 4 | head -1
  27. # IN CASE THE COMMAND ABOVE RETURNS NOT THE APPIMAGE YOU WANT TO DOWNLOAD, ADD ANY COMMAND MANUALLY IN THE GENERATED SCRIPT
  28. echo ""
  29. read -p " Do you wish to proceed (y,N)?" yn
  30. case $yn in
  31. 'Y'|'y') mkdir -p ./am-scripts &&
  32. cp ./AM-SAMPLE-AppImage-from-GitHub ./$arg
  33. mv ./$arg ./am-scripts/$arg &&
  34. sed -i s/SAMPLE/$arg/g ./am-scripts/$arg &&
  35. sed -i s#REPLACETHIS#$REPO#g ./am-scripts/$arg
  36. sleep 0.5;;
  37. 'N'|'n'|*) break;;
  38. esac
  39. done
  40. esac
  41. fi
  42. done
  43. done