Skip to content

Instantly share code, notes, and snippets.

@cdent
Forked from pads/ts-import-space.sh
Last active December 16, 2015 16:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cdent/5461033 to your computer and use it in GitHub Desktop.
Save cdent/5461033 to your computer and use it in GitHub Desktop.
#!/bin/sh
USAGE="Usage: `basename $0` <src_space_url> <src_space> <src_user> <src_pwd> <dest_space_url> <dest_space> <dest_user> <dest_pwd>"
if [ $# -ne 8 ]; then
echo $USAGE >&2
exit 1
fi
SRC_SPACE_URL=$1
SRC_SPACE=$2
SRC_USER=$3
SRC_PASSWORD=$4
SRC_PUBLIC_BAG=$SRC_SPACE_URL/bags/"$SRC_SPACE"_public/tiddlers
SRC_PRIVATE_BAG=$SRC_SPACE_URL/bags/"$SRC_SPACE"_private/tiddlers
DEST_SPACE_URL=$5
DEST_SPACE=$6
DEST_USER=$7
DEST_PASSWORD=$8
DEST_PUBLIC_BAG=$DEST_SPACE_URL/bags/"$DEST_SPACE"_public/tiddlers
DEST_PRIVATE_BAG=$DEST_SPACE_URL/bags/"$DEST_SPACE"_private/tiddlers
IFS='
'
move() {
SRCBAG=$1
SRCUSER=$2
SRCPASS=$3
DESTBAG=$4
DESTUSER=$5
DESTPASS=$6
for TIDDLER in `curl -u "$SRCUSER:$SRCPASS" -s $SRCBAG.txt`
do
ENCODED_TIDDLER=$(python -c "import urllib; print urllib.quote('''$TIDDLER''', safe='')")
echo "Importing $ENCODED_TIDDLER..."
curl -u "$SRCUSER:$SRCPASS" -s $SRCBAG/$ENCODED_TIDDLER.json \
| curl -X PUT -H "Content-Type:application/json" -u \
"$DESTUSER:$DESTPASS" $DESTBAG/$ENCODED_TIDDLER -d @-
done
}
echo "***Importing public tiddlers***"
move $SRC_PUBLIC_BAG $SRC_USER $SRC_PASSWORD $DEST_PUBLIC_BAG \
$DEST_USER $DEST_PASSWORD
echo "***Importing private tiddlers***"
move $SRC_PRIVATE_BAG $SRC_USER $SRC_PASSWORD $DEST_PRIVATE_BAG \
$DEST_USER $DEST_PASSWORD
echo "***Done***"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment