diff options
author | Daniel Narvaez <dwnarvaez@gmail.com> | 2012-11-28 10:01:47 (GMT) |
---|---|---|
committer | Daniel Narvaez <dwnarvaez@gmail.com> | 2012-11-28 10:03:21 (GMT) |
commit | 7265563b8bb9fb9e74b5564fdc5dde5b7d68594a (patch) | |
tree | ecd6a6e9023668d8efe994071db56e9d5fe1b579 /tools | |
parent | 63ce28d67fe038a5a56493255f0a561d11357178 (diff) |
Move buildsnapshot and json-normalize in tools
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/build-snapshot | 58 | ||||
-rwxr-xr-x | tools/json-normalize | 23 |
2 files changed, 81 insertions, 0 deletions
diff --git a/tools/build-snapshot b/tools/build-snapshot new file mode 100755 index 0000000..1bf525b --- /dev/null +++ b/tools/build-snapshot @@ -0,0 +1,58 @@ +#!/bin/sh + +commandsdir=`dirname "$0"` +basedir=`dirname "$commandsdir"` + +if [ "$#" -eq 0 ]; then + echo "build-snapshot [destination directory]" + exit 1 +fi + +destdir=`dirname $1` +filename=`basename $1` +rootdir=sugar-snapshot + +mkdir -p $destdir +ln -s `pwd` $destdir/$rootdir + +cd $destdir + +tar chf $filename \ + $rootdir/config \ + $rootdir/devbot \ + $rootdir/install \ + $rootdir/commands/helpers/bashrc \ + $rootdir/commands/helpers/ubuntu-tweaks \ + $rootdir/commands/check-system \ + $rootdir/commands/common.py \ + $rootdir/commands/run \ + $rootdir/commands/shell + +rm $rootdir +mkdir $rootdir + +runsugarscript=$rootdir/run-sugar.sh + +cat > $runsugarscript << "EOF" +#!/bin/sh + +commands/run +EOF + +chmod +x $runsugarscript + +runshellscript=$rootdir/run-shell.sh + +cat > $runshellscript << "EOF" +#!/bin/sh + +commands/shell +EOF + +chmod +x $runshellscript + +tar rh -f $filename $runshellscript $runsugarscript + +rm -rf $rootdir + +xz $filename diff --git a/tools/json-normalize b/tools/json-normalize new file mode 100755 index 0000000..ec6bd0f --- /dev/null +++ b/tools/json-normalize @@ -0,0 +1,23 @@ +#!/usr/bin/python + +import argparse +import json +from operator import itemgetter + +parser = argparse.ArgumentParser() +parser.add_argument("paths", nargs="+", help="path to the json file") +parser.add_argument("--sort-by", help="dictionary key to sort by") +args = parser.parse_args() + +for path in args.paths: + in_file = open(path, "rb") + data = json.load(in_file) + in_file.close() + + if args.sort_by is not None: + data.sort(key=itemgetter(args.sort_by)) + + out_file = open(path, "wb") + json.dump(data, out_file, sort_keys=True, indent=4) + out_file.write('\n') + out_file.close() |