[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] navidoc/navidoc directives/mp.py modules/imagem...
From: |
Asko Soukka |
Subject: |
[Gzz-commits] navidoc/navidoc directives/mp.py modules/imagem... |
Date: |
Tue, 17 Jun 2003 08:04:05 -0400 |
CVSROOT: /cvsroot/navidoc
Module name: navidoc
Branch:
Changes by: Asko Soukka <address@hidden> 03/06/17 08:04:04
Modified files:
navidoc/directives: mp.py
navidoc/modules: imagemap.py metalink.py
navidoc/mp : __init__.py
navidoc/writers: xhtml11.py
Log message:
close every open file to avoid 'too many open files', ultimate
javascript upgrade
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/navidoc/directives/mp.py.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/navidoc/modules/imagemap.py.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/navidoc/modules/metalink.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/navidoc/mp/__init__.py.diff?tr1=1.40&tr2=1.41&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/navidoc/writers/xhtml11.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
Patches:
Index: navidoc/navidoc/directives/mp.py
diff -u navidoc/navidoc/directives/mp.py:1.9
navidoc/navidoc/directives/mp.py:1.10
--- navidoc/navidoc/directives/mp.py:1.9 Wed Jun 4 08:19:18 2003
+++ navidoc/navidoc/directives/mp.py Tue Jun 17 08:04:04 2003
@@ -19,7 +19,7 @@
# MA 02111-1307 USA
#
-# $Id: mp.py,v 1.9 2003/06/04 12:19:18 humppake Exp $
+# $Id: mp.py,v 1.10 2003/06/17 12:04:04 humppake Exp $
#
# Written by Asko Soukka, Benja Fallenstein
@@ -190,7 +190,8 @@
refer = slashify(config.working_directory)+config.output_filename
refers_filepath =
slashify(config.mp_directory)+diagram+config.midfix+".refers"
if (os.path.isfile(refers_filepath)):
- old_refers = open(refers_filepath, "r").read()
+ old_refers_file = open(refers_filepath, "r")
+ old_refers = old_refers_file.read()
if old_refers.find(config.output_filename) == -1:
if to_top:
refers = open(refers_filepath, "w")
@@ -200,6 +201,7 @@
refers = open(refers_filepath, "a")
refers.write(refer+"\n")
refers.close()
+ old_refers_file.close()
else:
refers = open(refers_filepath, "a")
refers.write(refer+"\n")
Index: navidoc/navidoc/modules/imagemap.py
diff -u navidoc/navidoc/modules/imagemap.py:1.10
navidoc/navidoc/modules/imagemap.py:1.11
--- navidoc/navidoc/modules/imagemap.py:1.10 Fri Jun 13 09:30:27 2003
+++ navidoc/navidoc/modules/imagemap.py Tue Jun 17 08:04:04 2003
@@ -19,7 +19,7 @@
# MA 02111-1307 USA
#
-#$Id: imagemap.py,v 1.10 2003/06/13 13:30:27 humppake Exp $
+#$Id: imagemap.py,v 1.11 2003/06/17 12:04:04 humppake Exp $
#
# Written by Asko Soukka
@@ -53,17 +53,41 @@
elif os.path.isfile(slashify(path)+entry):
embed_imagemap(slashify(path)+entry)
+def embed_javascript(filepath):
+ html_file = open(filepath)
+ html = html_file.read()
+ html_file.close()
+
+ if html.find('function setImg') == -1:
+ insert = html.upper().find('</HEAD>')
+ out = open(filepath, "w")
+ out.write(html[:insert]);
+ out.write("""
+<script language="JavaScript">
+<!-- Begin JavaScript
+function setImg(img_id, img_src, img_usemap) {
+document[img_id].setAttribute("src", img_src);
+document[img_id].setAttribute("usemap", img_usemap);
+}
+// End -->
+</script>
+""")
+ out.write(html[insert:])
+ out.close()
+
def embed_imagemap(filepath):
dbg('Checking %s for imagemapping diagrams' % (filepath))
config.working_directory = os.path.normpath(os.path.dirname(filepath))
config.input_filename = os.path.basename(filepath)
config.output_filename = os.path.basename(filepath)
+
+ embed_javascript(filepath)
htmlfile = open(filepath)
html = htmlfile.read()
htmlfile.close()
-
+
insert = html.find('<img _uml="')
while insert > -1:
diagram = html[insert+11:html.find('"', insert+11)]
@@ -81,13 +105,20 @@
else:
out.close()
create_uml(diagram, context)
+ create_uml(diagram, context+'_implicit', scale=0.5)
out = open(filepath, "w")
out.write(html[0:insert]);
dbg_navidoc("Mapping diagram %s within %s" % (diagram, filepath))
imgmap = get_imagemap(diagram, context)
+ imgmap_implicit = get_imagemap(diagram, context+'_implicit',
scale=0.5, id_postfix="_implicit")
dbg("Diagram %s imagemap: %s" % (diagram, "\n"+str(imgmap)))
out.write("\n"+'<a id="%s"></a>' %(diagram) + "\n")
out.write(imgmap)
+ out.write(imgmap_implicit)
+ if len(context) > 0: context = '_'+context
+ out.write('<img
src="'+slashify(relative_path(config.working_directory, config.mp_directory)) \
+ +diagram+context+config.midfix+'.png" usemap="#' \
+ +diagram+'_map" alt="'+diagram+'" id="'+diagram+'_img"
/>'+"\n")
html = html[html.find(">", insert)+1:len(html)]
out.write(html)
out.close()
@@ -117,6 +148,8 @@
config.input_filename = os.path.basename(filepath)
config.output_filename = os.path.basename(filepath)
+ embed_javascript(filepath)
+
htmlfile = open(filepath)
html = htmlfile.read()
htmlfile.close()
@@ -165,19 +198,23 @@
if context.endswith(config.midfix+'.html'):
context = context[0:len(context)-(len(config.midfix)+5)]
if context.endswith(".html"): context = context[0:len(context)-5]
- context = context+'_implicit'
-
- create_uml(diagram, context, scale=0.5)
+ create_uml(diagram, context)
+ create_uml(diagram, context+'_implicit', scale=0.5)
out = open(filepath, "w")
out.write(html[0:insert]);
out.close()
out = open(filepath, "w")
out.write(html[0:insert]);
dbg("Mapping diagram %s within %s" % (diagram, filepath))
- imgmap = get_imagemap(diagram, context, scale=0.5,
id_postfix="_implicit")
- dbg("Diagram %s imagemap: %s" % (diagram, "\n"+str(imgmap)))
+ imgmap = get_imagemap(diagram, context)
+ imgmap_implicit = get_imagemap(diagram, context+'_implicit',
scale=0.5, id_postfix="_implicit")
+ dbg("Diagram %s imagemap: %s" % (diagram, "\n"+str(imgmap_implicit)))
out.write(imgmap)
-
+ out.write(imgmap_implicit)
+ if len(context) > 0: context = '_'+context
+ out.write('<img
src="'+slashify(relative_path(config.working_directory, config.mp_directory)) \
+ +diagram+context+'_implicit'+config.midfix+'.png" usemap="#'
\
+ +diagram+'_implicit_map" alt="'+diagram+'"
id="'+diagram+'_img" />'+"\n")
html = html[insert_left:len(html)]
out.write(html)
out.close()
@@ -188,7 +225,9 @@
config.link_base_directory = None
def is_linked(diagram):
- log =
open(slashify(config.mp_directory)+diagram+config.midfix+'.mp.log').read()
+ log_file =
open(slashify(config.mp_directory)+diagram+config.midfix+'.mp.log')
+ log = log_file.read()
+ log_file.close()
log = log.replace("\n",'') # MetaPost (mpost) splits lines awkwardly in
the log.
# Grep all linked areas from log file.
@@ -201,7 +240,9 @@
def get_imagemap(diagram, context, scale=1.0, id_postfix=''):
if len(context) > 0: context = '_'+context
- log =
open(slashify(config.mp_directory)+diagram+context+config.midfix+'.mp.log').read()
+ log_file =
open(slashify(config.mp_directory)+diagram+context+config.midfix+'.mp.log')
+ log = log_file.read()
+ log_file.close()
log = log.replace("\n",'') # MetaPost (mpost) splits lines awkwardly in
the log.
links = []
@@ -223,11 +264,9 @@
link.map_corners(bbox.map_point)
imgmap = "\n"+'<map id="'+diagram+id_postfix+'_map"
name="'+diagram+id_postfix+'_map">'+"\n" \
- +"\n".join([link.imgmapanchor(scale=scale, diagram=diagram)
for link in links]) \
- +'</map>'+"\n" \
- +'<img
src="'+slashify(relative_path(config.working_directory, config.mp_directory)) \
- +diagram+context+config.midfix+'.png"
usemap="#'+diagram+id_postfix+'_map" alt="'+diagram+id_postfix+'" />'+"\n"
-
+ +"\n".join([link.imgmapanchor(scale=scale, diagram=diagram,
context=context) \
+ for link in links]) \
+ +'</map>'+"\n"
return imgmap
def get_targets(diagram):
@@ -237,7 +276,9 @@
"""
targets = []
- log =
open(slashify(config.mp_directory)+diagram+config.midfix+'.mp.log').read()
+ log_file =
open(slashify(config.mp_directory)+diagram+config.midfix+'.mp.log')
+ log = log_file.read()
+ log_file.close()
log = log.replace("\n",'') # MetaPost (mpost) splits lines awkwardly in
the log.
# Grep all linked areas from log file.
Index: navidoc/navidoc/modules/metalink.py
diff -u navidoc/navidoc/modules/metalink.py:1.4
navidoc/navidoc/modules/metalink.py:1.5
--- navidoc/navidoc/modules/metalink.py:1.4 Mon Apr 7 11:58:00 2003
+++ navidoc/navidoc/modules/metalink.py Tue Jun 17 08:04:04 2003
@@ -19,7 +19,7 @@
# MA 02111-1307 USA
#
-#$Id: metalink.py,v 1.4 2003/04/07 15:58:00 humppake Exp $
+#$Id: metalink.py,v 1.5 2003/06/17 12:04:04 humppake Exp $
#
# Written by Asko Soukka
@@ -47,7 +47,9 @@
postprocess(slashify(path)+entry)
if os.path.isfile(slashify(path)+entry):
- html = open(slashify(path)+entry).read()
+ html_file = open(slashify(path)+entry)
+ html = html_file.read()
+ html_file.close()
insert = html.lower().find("</head>")
out = open(slashify(path)+entry, "w")
Index: navidoc/navidoc/mp/__init__.py
diff -u navidoc/navidoc/mp/__init__.py:1.40 navidoc/navidoc/mp/__init__.py:1.41
--- navidoc/navidoc/mp/__init__.py:1.40 Tue Jun 17 05:07:30 2003
+++ navidoc/navidoc/mp/__init__.py Tue Jun 17 08:04:04 2003
@@ -19,7 +19,7 @@
# MA 02111-1307 USA
#
-# $Id: __init__.py,v 1.40 2003/06/17 09:07:30 humppake Exp $
+# $Id: __init__.py,v 1.41 2003/06/17 12:04:04 humppake Exp $
#
# Written by Tuomas Lukka, Asko Soukka
@@ -184,7 +184,9 @@
raise MetapostException(slashify(config.mp_directory) \
+diagram+config.midfix+'.mp'+' not found')
- s = open(slashify(config.mp_directory)+diagram+config.midfix+'.uml').read()
+ s_file = open(slashify(config.mp_directory)+diagram+config.midfix+'.uml')
+ s = s_file.read()
+ s_file.close()
l = navidoc.util.parser.parse_indented(s)
m = navidoc.parser.ElementList(l)
@@ -252,7 +254,10 @@
slashify(config.mp_directory)+diagram+midfix+'.eps')
return
- log =
open(slashify(config.mp_directory)+diagram+config.midfix+'.mp.log').read()
+ log_file =
open(slashify(config.mp_directory)+diagram+config.midfix+'.mp.log')
+ log = log_file.read()
+ log_file.close()
+
if log.find("\n"+'!') != -1:
dbg_navidoc('[mp] Converting diagram %s failed.' % (diagram))
dbg_fail('An error was found from MetPost log when convertin diagram
%s. The log is shown below.' % (diagram))
@@ -336,25 +341,25 @@
)]
dbg("Mapped corners: "+str(self.corners))
- def imgmapanchor(self, scale=1.0, diagram=''):
- #If we have a link with empty target and empty title, let's link
- #it to the diagram itself, if diagram name provided.
- if self.title == '' and diagram: self.title =
diagram+config.midfix+'.png'
- if self.target == '' and diagram:
- self.target = slashify(relative_path(config.working_directory,
config.mp_directory))+diagram+config.midfix+'.png'
- if self.target.endswith('.png'):
- target = '_plain'
- diagram = ''
+ def imgmapanchor(self, scale=1.0, diagram='', context=''):
+ # Adding javascript thingy, when target not defined
+ if context.endswith('_implicit'):
+ id_postfix = ''
+ context = context[:len(context)-len('_implicit')]
else:
- target = '_top'
- diagram = '#'+diagram
+ id_postfix = '_implicit'
+ context = context + '_implicit'
+
+ if self.target == '' and diagram and context:
+ self.target = "javascript:setImg('"+diagram+"_img',
'"+slashify(relative_path(config.working_directory,
config.mp_directory))+diagram+context+config.midfix+".png',
'#"+diagram+id_postfix+"_map')"
+
+ if not self.target.startswith('javascript'): diagram = '#'+diagram
+ else: diagram = ''
return """<area href="%s%s" shape="rect" coords="%s" target="%s"
title="%s" alt="%s" />""" \
% (self.target, diagram,
- ",".join(["%s"%(int(c*scale)) for c in self.corners]),
- target,
- self.title,
- self.title)
+ ",".join(["%s"%(int(c*scale)) for c in self.corners]),
'_top',
+ self.title, self.title)
class MetapostException(Exception):
def __init__(self, value):
Index: navidoc/navidoc/writers/xhtml11.py
diff -u navidoc/navidoc/writers/xhtml11.py:1.3
navidoc/navidoc/writers/xhtml11.py:1.4
--- navidoc/navidoc/writers/xhtml11.py:1.3 Mon May 26 12:20:20 2003
+++ navidoc/navidoc/writers/xhtml11.py Tue Jun 17 08:04:04 2003
@@ -19,7 +19,7 @@
# MA 02111-1307 USA
#
-# $Id: xhtml11.py,v 1.3 2003/05/26 16:20:20 humppake Exp $
+# $Id: xhtml11.py,v 1.4 2003/06/17 12:04:04 humppake Exp $
#
# Modified by Asko Soukka
@@ -27,8 +27,8 @@
# Author: David Goodger (hacked by Navidoc to create xhtml11)
# Contact: address@hidden
-# Revision: $Revision: 1.3 $
-# Date: $Date: 2003/05/26 16:20:20 $
+# Revision: $Revision: 1.4 $
+# Date: $Date: 2003/06/17 12:04:04 $
# Copyright: This module has been placed in the public domain.
"""
@@ -192,7 +192,9 @@
self.head = []
if settings.embed_stylesheet:
stylesheet = self.get_stylesheet_reference(os.getcwd())
- stylesheet_text = open(stylesheet).read()
+ stylesheet_file = open(stylsheet)
+ stylesheet_text = stylesheet_file.read()
+ stylesheet_file.close()
self.stylesheet = [self.embedded_stylesheet % stylesheet_text]
else:
stylesheet = self.get_stylesheet_reference()
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gzz-commits] navidoc/navidoc directives/mp.py modules/imagem...,
Asko Soukka <=