source: subversion/sites/www.openstreetbrowser.org/src/combine_cascadenik.pl @ 17282

Last change on this file since 17282 was 16530, checked in by skunk, 11 years ago

Fix

  • Somehow there was the wrong file in the tree
  • Property svn:executable set to *
File size: 1.3 KB
Line 
1#!/usr/bin/perl
2
3$root_path=$ENV{ROOT_PATH};
4
5$full_text="";
6open(OB, "<$root_path/render/base.mml");
7while($rb=<OB>) {
8  if($rb =~ "INSERTLAYER ([a-zA-Z0-9_]+)\n") {
9    @text=get_mss_mll($1);
10    $full_text.=$text[1];
11    $full_text.=$text[2];
12  }
13  else {
14    $full_text.=$rb;
15  }
16}
17close(OB);
18
19$full_text=~s/__DBNAME__/$ENV{DB_NAME}/g;
20print $full_text;
21exit;
22
23sub get_mss_mll {
24  my $part=$_[0];
25  my @text;
26  my $mode;
27  my $r;
28  print STDERR "$part\n";
29
30  open(O, "cascadenik-compile.py $root_path/render/$part.mml|");
31
32  while($r=<O>) {
33    if($r =~ /<Style /) {
34      $mode=1;
35    }
36    elsif($r =~ /<Layer /) {
37      $mode=2;
38    }
39
40    if($mode>0) {
41      if($r =~ /^(.*)<StyleName>(.*)<\/StyleName>/) {
42        $text[$mode].="$1<StyleName>$part $2</StyleName>\n";
43      }
44      elsif($r =~ /^(.*)<Style name="(.*)">/) {
45        $text[$mode].="$1<Style name=\"$part $2\">\n";
46      }
47      elsif($r =~ /^(.*)<Layer name="(.*)"(.*)$/) {
48        $text[$mode].="$1<Layer name=\"$part $2\"$3\n";
49      }
50      else {
51        $text[$mode].=$r;
52      }
53    }
54
55    if(($r =~ /<\/Style>/)||($r =~ /<\/Layer>/)) {
56      $mode=0;
57    }
58  }
59  close(O);
60
61  return @text;
62}
63
64sub get_mss {
65  my $part=$_[0];
66  my @text;
67
68  @text=get_mss_mll($part);
69
70  return $text[1];
71}
72
73sub get_mml {
74  my $part=$_[0];
75  my @text;
76
77  @text=get_mss_mll($part);
78
79  return $text[2];
80}
81
Note: See TracBrowser for help on using the repository browser.