summaryrefslogtreecommitdiff
path: root/navit/script
diff options
context:
space:
mode:
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2009-10-25 12:43:09 +0000
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2009-10-25 12:43:09 +0000
commit2f8b0175b838bf369a5578452165600dfc115d11 (patch)
tree9d3d9ddce6b09bb0a0f77603d78d2496b7f47d9b /navit/script
parent3669685c7164230bdb8c459ff99cb9e2f06f1cdd (diff)
downloadnavit-2f8b0175b838bf369a5578452165600dfc115d11.tar.gz
Add:Script:Script to check itemgra definitions
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@2687 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/script')
-rwxr-xr-xnavit/script/itemgra.pl57
1 files changed, 57 insertions, 0 deletions
diff --git a/navit/script/itemgra.pl b/navit/script/itemgra.pl
new file mode 100755
index 000000000..bbe02b000
--- /dev/null
+++ b/navit/script/itemgra.pl
@@ -0,0 +1,57 @@
+#! /usr/bin/perl
+my $layout;
+my $type,$types;
+my $order,$orders,@orders;
+my @layouts;
+open(IN,"../navit.xml");
+while (<IN>) {
+ if (/<layout name="([^"]*)"/) {
+ $layout=$1;
+ push(@layouts,$layout);
+ }
+ if (/<itemgra item_types="([^"]*)"/) {
+ $types=$1;
+ if (/order="([^"]*)"/) {
+ $order=$1;
+ foreach $type (split(",",$types)) {
+ $result->{$type}->{$layout}->{$order}=1;
+ }
+ }
+ }
+}
+close(IN);
+open(IN,"../item_def.h");
+while (<IN>) {
+ if (/^ITEM2\([^,]*,(.*)\)/) {
+ $type=$1;
+ $result->{$type}->{"none"}=1;
+ }
+ if (/^ITEM\((.*)\)/) {
+ $type=$1;
+ $result->{$type}->{"none"}=1;
+ }
+}
+close(IN);
+my $typefmt="%-30s";
+my $layoutfmt="%10s";
+printf($typefmt,"");
+foreach $layout (@layouts) {
+ printf($layoutfmt,$layout);
+}
+printf("\n");
+foreach $type (sort keys %$result) {
+ $marker="";
+ if (!$result->{$type}->{"none"}) {
+ $marker="#";
+ }
+ printf($typefmt,$marker.$type);
+ foreach $layout (@layouts) {
+ @orders=sort keys %{$result->{$type}->{$layout}};
+ $order="";
+ if ($#orders >= 0) {
+ $order="*";
+ }
+ printf($layoutfmt,$order);
+ }
+ printf("\n");
+}