#!/usr/bin/env perl

sub shquote {
	my ($str) = @_;
	$str =~ s/["\\`\$]/\\$&/g;
	return qq{"$str"};
}

while (<>) {
	# grawity/fix-{pixiv,booru}-names
	if (m{^(.+/)?(.+?) => (.+)$}) {
		my $new = shquote("$1$3");
		my $old = shquote("$1$2");
		print qq{mv -vn $new $old\n};
	}
	elsif (m{^info: renaming '(.+/)?(.+)' to '([^/]+)'$}) {
		my $new = shquote("$1$3");
		my $old = shquote("$1$2");
		print qq{mv -vn $new $old\n};
	}
	elsif (m{^info: renaming '(.+)' to '(.+)'$}) {
		my $new = shquote($2);
		my $old = shquote($1);
		print qq{mv -vn $new $old\n};
	}
	# grawity/trash
	elsif (m{^info: trashed '(.+)'$}) {
		my $old = shquote($1);
		print qq{trash --restore $old\n};
	}
	# rdempty
	elsif (m{^info: removed: (.+)$}) {
		my $old = shquote($1);
		print qq{mkdir -p $old\n};
	}
	# prename
	elsif (m{^(.+) -> (.+)$}) {
		my $new = shquote($2);
		my $old = shquote($1);
		print qq{mv -vn $new $old\n};
	}
}
