ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cfmaps/cfupdate
(Generate patch)

Comparing cfmaps/cfupdate (file contents):
Revision 1.11 by root, Sun Nov 20 20:37:13 2005 UTC vs.
Revision 1.37 by root, Thu Oct 22 09:09:58 2009 UTC

1#!/bin/bash 1#!/bin/bash
2 2
3# cfupdate - convert a crossfire maps hierarchy to html 3# cfupdate - convert a deliantra maps hierarchy to html
4# Copyright (C) 2005 Marc Lehmann <gvpe@schmorp.de> 4# Copyright (C) 2005,2007,2008 Marc Lehmann <cfmaps@schmorp.de>
5# 5#
6# CFUPDATE is free software; you can redistribute it and/or modify 6# CFUPDATE is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by 7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation; either version 2 of the License, or 8# the Free Software Foundation; either version 2 of the License, or
9# (at your option) any later version. 9# (at your option) any later version.
12# but WITHOUT ANY WARRANTY; without even the implied warranty of 12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details. 14# GNU General Public License for more details.
15# 15#
16# You should have received a copy of the GNU General Public License 16# You should have received a copy of the GNU General Public License
17# along with gvpe; if not, write to the Free Software 17# along with cfmaps; if not, write to the Free Software
18# Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18# Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 19
20VERSION=1.06 20VERSION=2.022
21 21
22umask 022 22umask 022
23 23
24SRC=/root/src/crossfire 24SRC=/root/src/cfmaps
25PATH="$SRC:$PATH" 25PATH="$SRC:$PATH"
26BASE="/var/www/cfmaps.schmorp.de" 26export BASE=${BASE:-/var/www/maps.deliantra.net}
27export CROSSFIRE_LIBDIR="$BASE"/lib 27export DELIANTRA_LIBDIR=${DELIANTRA_LIBDIR:-$BASE/lib}
28 28
29cd "$BASE" || exit 69 29cd "$BASE" || exit 69
30 30
31cvs -Q -z3 update -AdP | grep -v ^\\? 31cvs -Q -z3 update -AdP | grep -v ^\\?
32 32
33#wget -qm --no-check-certificate https://cat2.dynu.ca/cat2/mlab-devel.tar.gz
34#if [ cat2.dynu.ca/cat2/mlab-devel.tar.gz -nt cat2.dynu.ca/cat2/mlab-devel.tar.gz~ ]; then
35# tar xzpf cat2.dynu.ca/cat2/mlab-devel.tar.gz
36# chown -R root.root mlab-devel
37# chmod -R u=rwX,go=rX mlab-devel
38# ln -f cat2.dynu.ca/cat2/mlab-devel.tar.gz cat2.dynu.ca/cat2/mlab-devel.tar.gz~
39#fi
40
33rm -f .cfmap2html 41rm -f .cfmap2html
34 42
35chmod 644 "$SRC"/*.css 43chmod 644 "$SRC"/*.css
36cp "$SRC"/*.css . 44cp "$SRC"/*.css .
45chmod 755 "$SRC"/cfmapidx
46cp "$SRC"/cfmapidx .
37 47
38find . -name CVS -prune -o -type d -printf "%P/\n" | while read dir; do 48find . "(" -name CVS -o -path ./a ")" -prune -o -type d -printf "%P/\n" | while read dir; do
39 ( 49 (
40 export dir 50 export dir
41 cd "./$dir" || exit 68 51 cd "./$dir" || exit 68
42 { 52 {
43 cat >&7 <<-EOF 53 cat >&7 <<-EOF
44 <?xml version='1.0' encoding='utf-8'?> 54 <?xml version='1.0' encoding='utf-8'?>
55 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
45 <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'> 56 <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'>
46 <head> 57 <head>
47 <title>Crossfire Maps Directory "$dir"</title> 58 <title>Deliantra Maps Directory "$dir"</title>
48 <link rel='stylesheet' type='text/css' media='all' href='/common.css'/> 59 <link rel='stylesheet' type='text/css' media='all' href='/common.css'/>
49 </head> 60 </head>
61 <body>
62 <p>Keyword Search Over All Maps</p>
63 <form action='/search'><p>
64 <input type='text' name='k'/>
65 <input type='submit'/>
66 </p></form>
50 <body><h1>Crossfire Maps Directory "$dir"</h1><ul> 67 <h1>Deliantra Maps Directory "$dir"</h1><ul>
51 <li><a href='..'>&lt;parent&gt;</a></li></ul><h2>This Directory</h2><ul> 68 <li><a href='..'>&lt;parent&gt;</a></li></ul><h2>This Directory</h2><ul>
52 EOF 69 EOF
53 for file in *; do 70 for file in *; do
71 if [ -h "$file" ]; then
72 : # ignore for now
54 if [ -f "$file" ]; then 73 elif [ -f "$file" ]; then
55 case "$file" in 74 case "$file" in
56 *.pst | *.jpg | *.png | *.html | *.html.gz | *.xhtml | *.xhtml.gz | *.css | *~ ) 75 cfmapidx | *.jpg | *.png | *.html | *.html.gz | *.xhtml | *.xhtml.gz | *.css | *.err | *~ )
76 ;;
77 *.map )
78 echo >&7 "<li><a href='${file%.map}.xhtml'>${file%.map}</a> [map]</li>"
79 DIR="${dir#/}"
80 echo "$DIR$file" >>$BASE/.cfmap2html
57 ;; 81 ;;
58 * ) 82 * )
83 # non-deliantra compatibility
59 if head -5 "$file" | grep -q "^arch map"; then 84 if [ "$(head -1 "$file")" = "arch map" ]; then
60 echo >&7 "<li><a href='$file.xhtml'>$file</a> [map]</li>" 85 echo >&7 "<li><a href='$file.xhtml'>$file</a> [map]</li>"
86 ln -sf "$file" "$file.map"
61 DIR="${dir#/}" 87 DIR="${dir#/}"
62 echo "$DIR$file" >>$BASE/.cfmap2html 88 echo "$DIR$file.map" >>$BASE/.cfmap2html
63 else 89 else
64 echo >&7 "<li><a href='$file'>$file</a> [file]</li>" 90 echo >&7 "<li><a href='$file'>$file</a> [file]</li>"
65 fi 91 fi
66 ;; 92 ;;
67 esac 93 esac
87 <li><a href="/world/world_122_117.xhtml">Navar</a></li> 113 <li><a href="/world/world_122_117.xhtml">Navar</a></li>
88 <li><a href="/world/world_116_102.xhtml">Darcap</a></li> 114 <li><a href="/world/world_116_102.xhtml">Darcap</a></li>
89 <li><a href="/world/world_128_109.xhtml">Wolfsburg</a></li> 115 <li><a href="/world/world_128_109.xhtml">Wolfsburg</a></li>
90 <li><a href="/world/world_128_101.xhtml">Azumauindo</a></li> 116 <li><a href="/world/world_128_101.xhtml">Azumauindo</a></li>
91 </ul> 117 </ul>
92 <p class="footer">created by <a href='http://software.schmorp.de/#crossfire'>cfupdate</a> version $VERSION</p> 118 <p class="footer">created by <a href='http://software.schmorp.de/pkg/cfmaps'>cfupdate</a> version $VERSION</p>
93 EOF 119 EOF
94 echo >&7 "</body></html>" 120 echo >&7 "</body></html>"
95 } 7>index.xhtml 121 } 7>index.xhtml~
122
123 if [ "$DIR" = "world/" -o "$DIR" = "world-overlay/" ]; then
124 rm index.xhtml~
125 else
126 mv index.xhtml~ index.xhtml
127 fi
96 gzip -7f index.xhtml 128 #gzip -7f index.xhtml
97 ) 129 )
98done 130done
99 131
100<.cfmap2html xargs cfmap2html 132for dir in *; do
101rm -f .cfmap2html 133 if [ -e "$dir/${dir}_123_107.map" ]; then
134 cfworldmap "$dir"
135 fi
136done
102 137
103cfarch2html 138cfarch2html
104cfworldmap 139
140rm -f .index.dat~
141<.cfmap2html xargs -l50 cfmap2html
142<.cfmap2html xargs cfmapidx -a
143mv .index.dat~ .index.dat
144
145#rm -f .cfmap2html
105 146
106chown -R root.root . 147chown -R root.root .
107chmod -R u=rwX,go=rX . 148chmod -R u=rwX,go=rX .
108 149

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines