summaryrefslogtreecommitdiff
path: root/gnu/dist/sgmltools-lite/python/backends/Html.py
diff options
context:
space:
mode:
authorfukachan <fukachan>2005-06-06 03:45:57 +0000
committerfukachan <fukachan>2005-06-06 03:45:57 +0000
commitf7cbfec74df8f8fd7e135c16de75b2fa6f5ab6a3 (patch)
tree8c8fb14178b0d5ef6de0be740868ac6bfc10f1ce /gnu/dist/sgmltools-lite/python/backends/Html.py
parente19ad4df732efb6d4cd3e857120c7ecff4674abb (diff)
downloadfml8-f7cbfec74df8f8fd7e135c16de75b2fa6f5ab6a3.tar.gz
fml8-f7cbfec74df8f8fd7e135c16de75b2fa6f5ab6a3.tar.bz2
fml8-f7cbfec74df8f8fd7e135c16de75b2fa6f5ab6a3.zip
Initial revision
Diffstat (limited to 'gnu/dist/sgmltools-lite/python/backends/Html.py')
-rw-r--r--gnu/dist/sgmltools-lite/python/backends/Html.py88
1 files changed, 88 insertions, 0 deletions
diff --git a/gnu/dist/sgmltools-lite/python/backends/Html.py b/gnu/dist/sgmltools-lite/python/backends/Html.py
new file mode 100644
index 00000000..bf57ab17
--- /dev/null
+++ b/gnu/dist/sgmltools-lite/python/backends/Html.py
@@ -0,0 +1,88 @@
+#
+# backends/Html.py
+#
+# $Id: Html.py,v 1.5 2000/10/26 06:20:23 cdegroot Exp $
+#
+# SGMLtools HTML backend driver.
+#
+# SGMLtools - an SGML toolkit.
+# Copyright (C) 1998 Cees A. de Groot
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+from Backend import Backend, BackendGlobals
+import utils, os, string, stat
+
+class Html(Backend):
+
+ def preJade(self, fh):
+ #
+ # Make a temporary directory, and change in there. Correct the
+ # filename if it wasn't absolute by prepending the old working
+ # directory.
+ #
+ self._savdir = os.getcwd();
+ self._tempdir, junk = os.path.splitext(utils.makeTemp())
+ self._tracer.mkdir(self._tempdir, 0700)
+ self._tracer.chdir(self._tempdir)
+
+ return fh
+
+ def postJade(self, outfile, stdoutfile):
+ #
+ # If we land here, everything worked out fine. Below the
+ # original working directory, create a subdirectory, and copy
+ # the results from the temporary directory over there.
+ #
+ # We clean the destination directory first so that old parts
+ # don't hang around, and we make a symlink named "index.html"
+ # pointing to the logical starting point of the resulting html
+ # set.
+ #
+ self._tracer.chdir(self._savdir) # so relative names work ok.
+ (srcdir, junk) = os.path.split(outfile)
+ destdir = os.path.join(self._fileparts[1], self._fileparts[0])
+
+ if os.path.exists(destdir):
+ self._tracer.system('rm -rf ' + destdir + '/*')
+ else:
+ self._tracer.mkdir(destdir)
+
+ self._tracer.mv(self._tempdir + '/*', destdir)
+ self._tracer.rmdir(self._tempdir)
+
+ #
+ # The first file in the manifest is what we'll see as index.html
+ #
+ self._tracer.chdir(destdir)
+ try:
+ fh = open('HTML.manifest', 'r')
+ indexfile = string.strip(fh.readline())
+ fh.close()
+ self._tracer.symlink(indexfile, 'index.html')
+ except:
+ pass
+
+
+ self._tracer.chdir(self._savdir)
+
+
+class HtmlGlobals(BackendGlobals):
+
+ def getName(self):
+ return 'html'
+
+ def getJadeSettings(self):
+ return ('sgmltools-html', 'sgml')