chiark / gitweb /
jstest: lower: from-pieces helper script
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 9 Jul 2021 18:27:15 +0000 (19:27 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 9 Jul 2021 18:27:15 +0000 (19:27 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
jstest/from-pieces [new file with mode: 0755]

diff --git a/jstest/from-pieces b/jstest/from-pieces
new file mode 100755 (executable)
index 0000000..78cf90a
--- /dev/null
@@ -0,0 +1,28 @@
+#!/usr/bin/perl -w
+
+use strict;
+use JSON;
+use Data::Dumper;
+
+my $jtext = do { undef $/; <STDIN>; };
+my $data = decode_json($jtext);
+#print STDERR Dumper($data);
+
+my @pieces = map {
+  my $id = $_;
+  my $p = $data->{$_};
+  [
+   $p->{z},
+   $p->{zg},
+   (sprintf "    sp!(\"%s\", %s, %s),\n",
+    $id,
+    $p->{pinned} ? 'true' : 'false',
+    $p->{moveable} eq 'IfWresting' ? 'No' : $p->{moveable})
+  ]
+} keys %$data;
+
+my @sorted = sort { $a->[0] cmp $b->[0] || $a->[1] <=> $b->[1] } @pieces;
+
+foreach my $p (@sorted) {
+  print $p->[2] or die $!;
+}