]> git.proxmox.com Git - mirror_ovs.git/blame - ovsdb/dot2pic
Debian: Update change log for 1.1.0~pre2.g2.ea763e0e-1 upload
[mirror_ovs.git] / ovsdb / dot2pic
CommitLineData
fca64c12
BP
1#! /usr/bin/perl
2
3# Copyright (c) 2009, 2010 Nicira Networks
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at:
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17use strict;
18use warnings;
19
20my ($scale) = 1;
21print ".PS\n";
22print "linethick = 1;\n";
23while (<>) {
73ffb8e8
BP
24 if (/^graph/) {
25 (undef, $scale) = split;
26 } elsif (/^node/) {
27 my (undef, $name, $x, $y, $width, $height, $label, $style, $shape, $color, $fillcolor) = split;
fca64c12
BP
28 $x *= $scale;
29 $y *= $scale;
30 $width *= $scale;
31 $height *= $scale;
32 print "box at $x,$y wid $width height $height \"$name\"\n";
33 } elsif (/edge/) {
34 my (undef, $tail, $head, $n, $rest) = split(' ', $_, 5);
35 my @xy;
36 for (1...$n) {
37 my ($x, $y);
38 ($x, $y, $rest) = split(' ', $rest, 3);
39 push(@xy, [$x * $scale, $y * $scale]);
40 }
41 my ($label, $xl, $yl);
42 if (scalar(my @junk = split(' ', $rest)) > 2) {
43 if ($rest =~ s/^"([^"]*)"\s+//) {
44 $label = $1;
45 } else {
46 ($label, $rest) = split(' ', $rest, 2);
47 }
48 ($xl, $yl, $rest) = split(' ', $rest, 3);
49 $xl *= $scale;
50 $yl *= $scale;
51 }
52 my ($style, $color) = split(' ', $rest);
53
54 print "spline -> from $xy[0][0],$xy[0][1]";
55 for (my ($i) = 0; $i <= $#xy; $i++) {
56 print " to $xy[$i][0],$xy[$i][1]";
57 }
58 print "\n";
59
60 print "\"$label\" at $xl,$yl\n" if defined($label);
61 }
62
63}
64print ".PE\n";