#!/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;') ;; 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` = 1 ] || error "Multiple entityid:s found: `echo $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 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 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