From 4b70501e432eb5fd9ed04a4afbadafabd982e9fc Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Fri, 5 Sep 2014 01:31:14 -0400 Subject: restructure to have most data in YAML --- bin/normalize-stdio | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 bin/normalize-stdio (limited to 'bin/normalize-stdio') diff --git a/bin/normalize-stdio b/bin/normalize-stdio new file mode 100755 index 0000000..23a240e --- /dev/null +++ b/bin/normalize-stdio @@ -0,0 +1,31 @@ +#!/usr/bin/env ruby +require 'yaml' + +core_order = [ "username", + "fullname", + "email", + "groups", + "pgp_keyid", + "pgp_revoked_keyids", + "ssh_keys", + "extra" ] + +extra_order = [ "alias", + "other_contact", + "roles", + "website", + "occupation", + "yob", + "location", + "languages", + "interests", + "favorite_distros" ] + +_core_order = Hash[[*core_order.map.with_index]] +_extra_order = Hash[[*extra_order.map.with_index]] + +print YAML::load(STDIN) + .sort_by{|u| u["username"]} + .map{|u| Hash[u.sort_by{|k,v| _core_order[k]}]} + .each{|u|u["extra"] = Hash[u["extra"].sort_by{|k,v| _extra_order[k]}] if u["extra"]} + .to_yaml -- cgit v1.2.3-2-g168b