#!/bin/bash error() { echo "Error: $*" exit 1 } if [ -z "$1" ]; then echo "$0 " exit fi metadataurl=$1 if [ -s "${metadataurl}" ]; then entityidfn=$(basename "$metadataurl") else case $metadataurl in [0-9][0-9]*) url="https://metadata.swamid.se/?rawXML=${metadataurl}" ;; https://metadata.swamid.se/?showEntity=*) #url=$(echo "$metadataurl" | sed 's;showEntity;rawXML;') url=${metadataurl//showEntity/rawXML} ;; esac metadata=$(curl -L -m 5 -s -k -f "${url}") [ -n "$metadata" ] || error "Failed to fetch metadata from $metadataurl" entityid=$(echo "$metadata" | sed -n 's/.*entityID=['\''"]\([^"]*\)['\''"].*/\1/p') [ -n "$entityid" ] || error "Failed to find entityID in metadata" [ "$(echo "$entityid" | wc -l | sed 's/ //g')" = "1" ] || error "Multiple entityid:s found: $entityid" entityidfn=$(echo "$entityid" | sed 's;.*://;;' | sed 's/[^a-zwA-ZW0-9_.-]/-/g' | sed 's/$/.xml/') [ -n "$entityidfn" ] || error "Failed to generate filename from entityid $entityid" fi file="swamid-2.0/$entityidfn" if [ -r "$file" ]; then echo "---------------------" grep "/$entityidfn" ./*.mxml sp-with-simplesign echo "---------------------" echo -n "OK to remove ? [Y/n]" read -r x case $x in "Y"|"y"|"") ;; *) exit 1 ;; esac echo if (grep -q "$entityidfn" sp-with-simplesign); then sed -i.bak "/\/$entityidfn/d" sp-with-simplesign if [ -f sp-with-simplesign.bak ]; then rm sp-with-simplesign.bak fi fi git rm "$file" grep "$file" ./*.mxml | sed 's/\(.*\.mxml\): /\1/' | while read -r mxmlfile ; do sed -i.bak "/\/$entityidfn/d" "$mxmlfile" if [ -f "$mxmlfile".bak ]; then rm "$mxmlfile".bak fi done git diff git status else error "File not found: $file" fi