From 4bac839e0afc85182c644c4e666ac8f759966598 Mon Sep 17 00:00:00 2001 From: Alexis Sellier Date: Fri, 21 Apr 2023 15:31:56 +0200 Subject: [PATCH] scripts: Update `import-issue` Make it remove image links. --- scripts/import-issue.sh | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/scripts/import-issue.sh b/scripts/import-issue.sh index 802c2abb..2d7f38ae 100755 --- a/scripts/import-issue.sh +++ b/scripts/import-issue.sh @@ -5,20 +5,35 @@ set -e if ! command -v curl > /dev/null; then - echo "Error: curl is not installed" - exit 1 + echo "Error: curl is not installed" ; exit 1 fi if ! command -v jq > /dev/null; then - echo "Error: jq is not installed" - exit 1 + echo "Error: jq is not installed" ; exit 1 fi if ! command -v rad > /dev/null; then - echo "Error: rad is not installed" - exit 1 + echo "Error: rad is not installed" ; exit 1 fi +if ! command -v pcregrep > /dev/null; then + echo "Error: pcregrep is not installed" ; exit 1 +fi + +if ! command -v sed > /dev/null; then + echo "Error: sed is not installed" ; exit 1 +fi + +function removeImgTags { + local html="$(cat)" + local imgTags="$(echo "$html" | pcregrep -M ']*>')" + + for imgTag in "$imgTags"; do + html="$(echo "$html" | sed -z "s@$imgTag@@")" + done + echo "$html" +} + # Check if the correct number of arguments is provided if [ "$#" -ne 3 ]; then echo "Usage: $0 " @@ -36,7 +51,7 @@ response="$(curl -s "$url")" # Extract the title and body from the JSON response title="$(echo "$response" | jq -r '.title')" -body="$(echo "$response" | jq -r '.body')" +body="$(echo "$response" | jq -r '.body' | removeImgTags)" labels="$(echo "$response" | jq -r '.labels | .[].name')" tags=()