gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] navidoc ./Makefile ./TODO-navidoc ./config.py ....


From: Asko Soukka
Subject: [Gzz-commits] navidoc ./Makefile ./TODO-navidoc ./config.py ....
Date: Thu, 24 Apr 2003 03:48:04 -0400

CVSROOT:        /cvsroot/navidoc
Module name:    navidoc
Changes by:     Asko Soukka <address@hidden>    03/04/24 03:48:04

Modified files:
        .              : Makefile TODO-navidoc config.py rst2any.py 
        navidoc        : parser.py 
        navidoc/directives: mp.py pegboard.py 
        navidoc/link   : __init__.py javadoc.py 
        navidoc/mp     : __init__.py 
Added files:
        navidoc/modules: imagemap.py 

Log message:
        imagemap update

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/Makefile.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/TODO-navidoc.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/config.py.diff?tr1=1.16&tr2=1.17&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/rst2any.py.diff?tr1=1.21&tr2=1.22&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/navidoc/parser.py.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/navidoc/directives/mp.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/navidoc/directives/pegboard.py.diff?tr1=1.15&tr2=1.16&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/navidoc/link/__init__.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/navidoc/link/javadoc.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/navidoc/modules/imagemap.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/navidoc/mp/__init__.py.diff?tr1=1.12&tr2=1.13&r1=text&r2=text

Patches:
Index: navidoc/Makefile
diff -u navidoc/Makefile:1.11 navidoc/Makefile:1.12
--- navidoc/Makefile:1.11       Sun Apr 20 04:17:44 2003
+++ navidoc/Makefile    Thu Apr 24 03:48:04 2003
@@ -1,4 +1,4 @@
-#$Id: Makefile,v 1.11 2003/04/20 08:17:44 tjl Exp $
+#$Id: Makefile,v 1.12 2003/04/24 07:48:04 humppake Exp $
 
 all: java doc pegs
 
@@ -47,10 +47,10 @@
        find . -name "*.class" | xargs rm -f
 
 html:
-       $(JYTHON) rst2any.py --html -d navidoc -d docutils -d pegboard -d 
pegboard.fail -d mp.fail $(DBG) $(RST)
+       $(JYTHON) rst2any.py --html --imagemap -d navidoc -d docutils -d 
pegboard -d pegboard.fail -d mp.fail $(DBG) $(RST)
 
 html-loop:
-       $(JYTHON) rst2any.py --loop --html -d navidoc -d docutils -d pegboard 
-d pegboard.fail -d mp.fail $(DBG) $(RST)
+       $(JYTHON) rst2any.py --loop --html --imagemap -d navidoc -d docutils -d 
pegboard -d pegboard.fail -d mp.fail $(DBG) $(RST)
 
 latex:
        $(JYTHON) rst2any.py --latex -d navidoc -d docutils $(DBG) $(RST)
Index: navidoc/TODO-navidoc
diff -u navidoc/TODO-navidoc:1.5 navidoc/TODO-navidoc:1.6
--- navidoc/TODO-navidoc:1.5    Thu Apr 10 12:01:56 2003
+++ navidoc/TODO-navidoc        Thu Apr 24 03:48:04 2003
@@ -11,6 +11,9 @@
          - creates a proper .cvsignore
         - make pegboard run with cpython, could be tested
           with i.e. "./rst2any --html doc/"
+        - ".gen." midfix to be optional:
+           + replacing ".gen" with global attribute
+           + replacing some foo[a:b] with foo[a:len(midfix)+c]
           
 0.2alpha1: Rewriting
     anybody:
Index: navidoc/config.py
diff -u navidoc/config.py:1.16 navidoc/config.py:1.17
--- navidoc/config.py:1.16      Thu Apr 17 03:38:01 2003
+++ navidoc/config.py   Thu Apr 24 03:48:04 2003
@@ -19,7 +19,7 @@
 # MA  02111-1307  USA
 # 
 
-# $Id: config.py,v 1.16 2003/04/17 07:38:01 humppake Exp $
+# $Id: config.py,v 1.17 2003/04/24 07:48:04 humppake Exp $
 
 __docformat__ = 'reStructuredText'
 
@@ -37,7 +37,7 @@
 mp_eps_only = 0
 
 # settings for linking javadoc
-javadoc_directory = []
+javadoc_directories = ['../libvob/doc/javadoc']
 linkpackage = '' # dynamic
 
 # initializing dynamic settings
Index: navidoc/navidoc/directives/mp.py
diff -u navidoc/navidoc/directives/mp.py:1.5 
navidoc/navidoc/directives/mp.py:1.6
--- navidoc/navidoc/directives/mp.py:1.5        Thu Apr 10 05:20:43 2003
+++ navidoc/navidoc/directives/mp.py    Thu Apr 24 03:48:04 2003
@@ -19,7 +19,7 @@
 # MA  02111-1307  USA
 # 
 
-# $Id: mp.py,v 1.5 2003/04/10 09:20:43 humppake Exp $
+# $Id: mp.py,v 1.6 2003/04/24 07:48:04 humppake Exp $
 
 #
 # Written by Asko Soukka, Benja Fallenstein
@@ -179,20 +179,21 @@
     """
     Add reference information for a spesific diagram.
     """
+    refer = slashify(config.working_directory)+config.output_filename
     refers_filepath = slashify(config.mp_directory)+diagram+".gen.refers"
     if (os.path.isfile(refers_filepath)):
         old_refers = open(refers_filepath, "r").read()
         if old_refers.find(config.output_filename) == -1:
             if to_top:
                 refers = open(refers_filepath, "w")
-                refers.write(config.output_filename+"\n"+old_refers)
+                refers.write(refer+"\n"+old_refers)
                 refers.close()
             else:
                 refers = open(refers_filepath, "a")
-                refers.write(config.output_filename+"\n")
+                refers.write(refer+"\n")
                 refers.close()
     else:
         refers = open(refers_filepath, "a")
-        refers.write(config.output_filename+"\n")
+        refers.write(refer+"\n")
         refers.close()
         
Index: navidoc/navidoc/directives/pegboard.py
diff -u navidoc/navidoc/directives/pegboard.py:1.15 
navidoc/navidoc/directives/pegboard.py:1.16
--- navidoc/navidoc/directives/pegboard.py:1.15 Thu Apr 10 05:20:43 2003
+++ navidoc/navidoc/directives/pegboard.py      Thu Apr 24 03:48:04 2003
@@ -19,7 +19,7 @@
 # MA  02111-1307  USA
 # 
 
-# $Id: pegboard.py,v 1.15 2003/04/10 09:20:43 humppake Exp $
+# $Id: pegboard.py,v 1.16 2003/04/24 07:48:04 humppake Exp $
 
 #
 # Written by Benja Fallensten, Vesa Kaihlavirta, Asko Soukka
@@ -139,7 +139,7 @@
         config.mp_generate = 0
         for rstfile in rstfiles:
             config.input_filename = rstfile
-            config.output_filename = ''
+            config.output_filename = rstfile[0:len(rstfile)-4]+'.gen.html'
             pub = Publisher()
             pub.set_reader('standalone', None, 'restructuredtext')
             filename = slashify(config.working_directory)+rstfile
@@ -149,10 +149,8 @@
             try:
                 pub.set_io()
                 document = pub.reader.read(pub.source, pub.parser, 
pub.settings)
-                config.output_filename = rstfile[0:len(rstfile)-4]+'.gen.html'
                 pub.apply_transforms(document)
                 peg['ignore'].append(config.output_filename)
-                config.output_filename = ''
 
                 #conversion have succeeded so far, parsing peg's metadata
                 #from its document tree
@@ -178,6 +176,7 @@
             except:
                 dbg_fail('PEG %s: Docutil raised an exception while converting 
%s. ' % (pegdir, rstfile))
                 dbg_fail('Conversion failed and HTML not created.\n')
+
         config.dbg.enable('docutils')
         config.mp_generate = 1
 
Index: navidoc/navidoc/link/__init__.py
diff -u navidoc/navidoc/link/__init__.py:1.7 
navidoc/navidoc/link/__init__.py:1.8
--- navidoc/navidoc/link/__init__.py:1.7        Thu Apr 17 03:38:01 2003
+++ navidoc/navidoc/link/__init__.py    Thu Apr 24 03:48:04 2003
@@ -19,7 +19,7 @@
 # MA  02111-1307  USA
 # 
 
-#$Id: __init__.py,v 1.7 2003/04/17 07:38:01 humppake Exp $
+#$Id: __init__.py,v 1.8 2003/04/24 07:48:04 humppake Exp $
 
 #
 # Written by Tuomas Lukka, Asko Soukka
@@ -30,6 +30,7 @@
 import config
 
 import navidoc
+import os.path, re
 
 from navidoc.util.path import *
 
@@ -38,29 +39,48 @@
 class Link (navidoc.Element):
     key = 'link'
 
+    title = None
+    bbox = None
+    focus = 0
+    rough_edge = 1
+    error = 0
+    target = None
+
     def __init__(self, var, s, list):
         dbg(self.key+" VAR: %s, S: %s, LIST: %s" % (var, s, list))
         self.title = s.strip()
-        self.bbox = ''
-        self.focus = 0
-        self.rough_edge = 1
-        self.error = 0
-        self.target = s.strip()
-
-#    def __init__(self, var, s, list):
-#      self.seqobjs = []d
-#      self.seqobjsdeletes = {}
-#      toks = s.split(" ");
-#      s = toks[0]
-#      self.var = var or s
-#      self.name = s
-#      self.list = self.parse_contents(None, list)
-#      self.ycode = ""
-
-#    def __init__(self, target):
-#        self.target = target
-#        self.title = target
 
+        if len(list) > 0:
+            self.target = slashify(config.working_directory) \
+                          + slashify(config.linkpackage) + list[0]
+            self.set_status(set_title=1)
+        
+        dbg(self.key+" title: %s, target: %s, error: %s" % (self.title, 
self.target, self.error))
+
+    def set_status(self, set_title=0):
+        """
+        Checks if the link target exists. Checks if the target
+        file is the current file. Could also parse
+        <title> from the file and set it to title.
+        """
+        path = self.target
+
+        tmp = path.rfind("#")
+        if tmp != -1: path = path[0:tmp]
+
+        if not os.path.isfile(path): self.error = 1
+
+        if not self.error and set_title:
+            file = open(path)                
+            title = re.compile('<title>([^<]*)</title>')
+            title = title.findall(file.read())
+            file.close()
+            if len(title) > 0: self.title = title[0]
+
+        if not self.error and os.path.abspath(path) \
+           == 
os.path.abspath(slashify(config.working_directory)+config.output_filename):
+            self.focus = 1
+        
     def setup_code(self): return ''
 
     def draw_code(self):
Index: navidoc/navidoc/link/javadoc.py
diff -u navidoc/navidoc/link/javadoc.py:1.3 navidoc/navidoc/link/javadoc.py:1.4
--- navidoc/navidoc/link/javadoc.py:1.3 Mon Apr  7 11:58:00 2003
+++ navidoc/navidoc/link/javadoc.py     Thu Apr 24 03:48:04 2003
@@ -19,7 +19,7 @@
 # MA  02111-1307  USA
 # 
 
-#$Id: javadoc.py,v 1.3 2003/04/07 15:58:00 humppake Exp $
+#$Id: javadoc.py,v 1.4 2003/04/24 07:48:04 humppake Exp $
 
 #
 # Written by Asko Soukka
@@ -30,6 +30,7 @@
 import config
 
 import navidoc
+import os.path, re
 
 from navidoc.util.path import *
 
@@ -48,4 +49,30 @@
 
 class JLink(navidoc.link.Link):
     key = "jlink"
-    
+
+    def __init__(self, var, s, list):
+        navidoc.link.Link.__init__(self, var, s, list)
+
+        if not self.target or self.error:
+            self.target = s.strip()
+            self.set_target()
+            self.set_status()
+            dbg(self.key+" Javadoc target: %s, error: %s" % (self.target, 
self.error))
+
+    def set_target(self):
+         """
+         Set the Javadoc -target.
+         """
+         parts = (config.linkpackage+'.'+self.target).split('.')
+         self.target = '/'.join(parts);
+         if re.match('^[a-z]', parts[-1]):
+             self.target = self.target + 'package-summary.html'
+         else:
+             self.target = self.target + '.html'
+
+         for dir in config.javadoc_directories:
+             if os.path.isfile(slashify(dir)+self.target):
+                 self.target = slashify(dir)+self.target
+
+         if self.target.endswith('/package-summary.html'):
+             self.target = self.target+'#package_description'
Index: navidoc/navidoc/mp/__init__.py
diff -u navidoc/navidoc/mp/__init__.py:1.12 navidoc/navidoc/mp/__init__.py:1.13
--- navidoc/navidoc/mp/__init__.py:1.12 Thu Apr 17 03:38:01 2003
+++ navidoc/navidoc/mp/__init__.py      Thu Apr 24 03:48:04 2003
@@ -19,7 +19,7 @@
 # MA  02111-1307  USA
 # 
 
-# $Id: __init__.py,v 1.12 2003/04/17 07:38:01 humppake Exp $
+# $Id: __init__.py,v 1.13 2003/04/24 07:48:04 humppake Exp $
 
 #
 # Written by Tuomas Lukka, Asko Soukka
@@ -38,6 +38,7 @@
 dbg_fail = config.dbg.shorthand('mp.fail')
 
 def link_draw_code(self):
+    if config.mp_eps_only: return ''
     if self.error: return 'showlinkerror("'+self.target+'", "'+self.title+'", 
('+self.bbox+'));'
     if not self.focus: return 'showlink("'+self.target+'", "'+self.title+'", 
('+self.bbox+'));'
     else:
@@ -69,7 +70,7 @@
         if self.link != None:
             self.link.bbox = ('bboxmeasuredpic(%s)' % (self.var))
 
-def create_uml(diagram, extension='', scale=1.0):
+def create_uml(diagram, context='', scale=1.0):
     """
     """
     if not os.path.isfile(slashify(config.mp_directory)+diagram+'.gen.uml'):
@@ -81,32 +82,83 @@
     l = navidoc.util.parser.parse_indented(s)
     m = navidoc.parser.ElementList(l)
 
-    if len(extension) > 0: extension = '_'+extension
+    if len(context) > 0:
+        context = '_'+context
+
+    draw_extra = ''
+
+#    """ Creates the "menu" above the diagram. """
+#    """ Some variables are needed :/ """
+#    if menu and settings.has_key('name') and settings.has_key('path'):
+#        """Refers must exist"""
+#        if (os.path.isfile(path+settings['name']+".gen.refers")):
+#            refer_file = open(path+settings['name']\
+#                          +".gen.refers", "r")
+#            refers = refer_file.readlines()
+#            refer_file.close()
+#            """List through in descending order."""
+#            refer_names = {}
+#            for id_inv in range(len(refers)):
+#                id = len(refers)-(id_inv+1)
+#                refer_file = open(refers[id].replace(".rst", 
".gen.html").replace("\n",""))                
+#                refer_title = re.compile('<title>([^<]*)</title>')
+#                refer_title = refer_title.findall(refer_file.read())
+#                refer_file.close()
+#                if len(refer_title) > 0: refer_title = refer_title[0]
+#                else: refer_title = refers[id].split("/")[-1].split(".")[0]
+#
+#                slash = settings['path'].rfind("/")
+#                if slash != -1:
+#                    refer_path = settings['path'][0:slash+1].replace("//", 
"/")
+#                    refer_jlink = mputils.transition_path(refer_path,
+#                              refers[id].replace(".rst", 
".gen.html").replace("\n",""))
+#                else: refer_jlink = refers[id].replace(".rst", 
".gen.html").replace("\n","")
+##                print "refer:", refers[id], "jlink:",refer_jlink, "path:", 
settings['path']
+##                refer_name = refers[id].split("/")[-1].split(".")[0]
+#                refer_name = randomVar()
+#                refer_names[id] = refer_name
+#                refer_obj = mptitle(refer_name, refer_title)
+#                refer_obj.jlink = refer_jlink+"#"+settings['name']
+#                titles[refer_obj.jlink] = refer_title
+#                if id == len(refers)-1:
+#                    refer_draw += "\tdraw 
ulcorner(bbox(currentpicture))+(0,10) -- urcorner(bbox(currentpicture))+(0,10) 
withpen pencircle scaled 1.5pt;\n"
+#                    refer_draw += refer_obj.setupCode()
+#                    refer_draw += "\t"+refer_name+".sw = 
ulcorner(bbox(currentpicture))+(35,0);\n"
+#                    refer_draw += refer_obj.drawCode()
+#                else:
+#                    refer_draw += refer_obj.setupCode()
+#                    refer_draw += "\t"+refer_name+".sw = "\
+#                                  +refer_names[id+1]\
+#                                  +".nw;\n"
+#                    refer_draw += refer_obj.drawCode()
+#                if id == 0:
+#                    refer_draw += "\tdraw (infontBB(\"from:\", \"Helvetica\") 
scaled 1.3) shifted (ulcorner(bbox(currentpicture))+(2,-13));\n"                
    
 
     dir = slashify(config.mp_directory)
 
-    gen1 = open(dir+diagram+extension+'.gen.mp.1', 'w')
+    gen1 = open(dir+diagram+context+'.gen.mp.1', 'w')
     gen1.write(m.setup_code()+'\n')
     gen1.close()
-    gen2 = open(dir+diagram+extension+'.gen.mp.2', 'w')
+    gen2 = open(dir+diagram+context+'.gen.mp.2', 'w')
     gen2.write(m.draw_code()+"\n")
+    gen2.write(draw_extra+"\n")
     gen2.write('showlinksize("bbox", "'+diagram+'", (bbox 
currentpicture));'+"\n")
     gen2.close()
-    gen3 = open(dir+diagram+extension+".gen.mp.3", "w")
+    gen3 = open(dir+diagram+context+".gen.mp.3", "w")
     gen3.write("""
        prologues := 1;
        input uml.mp
 
        beginfig(1)
-           input %(diagram)s%(extension)s.gen.mp.1
+           input %(diagram)s%(context)s.gen.mp.1
            input %(diagram)s.gen.mp
-           input %(diagram)s%(extension)s.gen.mp.2
+           input %(diagram)s%(context)s.gen.mp.2
        endfig
        end
        """ % locals())
     gen3.close()
 
-    mp2png(diagram+extension, scale)
+    mp2png(diagram+context, scale)
 
 def mp2png(diagram, scale=1.0):
     """
@@ -200,15 +252,15 @@
         Map exact coordinates from corner elements using
         provided mapper.
         """
-       dbg("Unmapped corners: "+self.corners)
+       dbg("Unmapped corners: "+str(self.corners))
        self.corners = [int(element) for element in (
            mapper(self.corners[0], self.corners[1]) +
            mapper(self.corners[2], self.corners[3]) 
             )]
-        dbg("Mapped corners: "+self.corners)
+        dbg("Mapped corners: "+str(self.corners))
 
     def imgmapanchor(self, scale=1.0):
-        return """<area href="%s" shape="rect" coords="%s" target="_top" 
title="%s" alt="%s" />\n""" \
+        return """<area href="%s" shape="rect" coords="%s" target="_top" 
title="%s" alt="%s" />""" \
                % (self.target,
                   ",".join(["%s"%(int(c*scale)) for c in self.corners]),
                   self.title,
Index: navidoc/navidoc/parser.py
diff -u navidoc/navidoc/parser.py:1.10 navidoc/navidoc/parser.py:1.11
--- navidoc/navidoc/parser.py:1.10      Thu Apr 17 03:38:01 2003
+++ navidoc/navidoc/parser.py   Thu Apr 24 03:48:04 2003
@@ -19,7 +19,7 @@
 # MA  02111-1307  USA
 # 
 
-# $Id: parser.py,v 1.10 2003/04/17 07:38:01 humppake Exp $
+# $Id: parser.py,v 1.11 2003/04/24 07:48:04 humppake Exp $
 
 #
 # Written by Tuomas Lukka, Asko Soukka
@@ -82,9 +82,16 @@
         dbg("List: "+str(list))
         config.element_list = self # XXX
         self.factor = ElementFactor([mp, link])
-       self.extras = []
-       self.list = [self.parse_element(element) for element in list]
-       self.list.extend(self.extras)
+        self.list = []
+        self.extras = []
+        for element in list:
+            element = self.parse_element(element)
+            # Borders of linked elements should be drawn before element itself.
+            if len(self.extras) > 0 and \
+                   isinstance(self.extras[0], navidoc.link.Link):
+                self.list.append(self.extras.pop(0))
+            self.list.append(element)
+        self.list.extend(self.extras)
 
     def add_contained_element(self, super, element):
         """
@@ -97,9 +104,9 @@
 
         if isinstance(element, navidoc.link.Link):
             super.link = element
-
-        self.extras.append(element)
-
+            self.extras.insert(0, element)
+        else: self.extras.append(element)
+            
     def parse_element(self, element):
         """
         Parse a single element.
Index: navidoc/rst2any.py
diff -u navidoc/rst2any.py:1.21 navidoc/rst2any.py:1.22
--- navidoc/rst2any.py:1.21     Thu Apr 10 07:28:00 2003
+++ navidoc/rst2any.py  Thu Apr 24 03:48:04 2003
@@ -21,7 +21,7 @@
 # MA  02111-1307  USA
 # 
 
-#$Id: rst2any.py,v 1.21 2003/04/10 11:28:00 humppake Exp $
+#$Id: rst2any.py,v 1.22 2003/04/24 07:48:04 humppake Exp $
 
 #
 # Written by Asko Soukka
@@ -60,6 +60,10 @@
     pass
 
 # catching writer parameters from the command line
+try: sys.argv.remove('--imagemap'); imagemap = 1
+except ValueError: imagemap = 0
+
+# catching writer parameters from the command line
 try: sys.argv.remove('--latex'); latex = 1
 except ValueError: latex = 0
 
@@ -87,7 +91,7 @@
     dbg_config('Input file: '+config.input_filename)
 
     if html:
-        dbg('Compiling: '+input)
+        dbg('Compiling ReST '+input)
         if not output.endswith('index'):
             output = output+'.gen.html'
         else:
@@ -102,7 +106,7 @@
         docutils.core.publish_cmdline(writer_name='html', argv=args.split())
 
     if latex:
-        dbg('Compiling: '+input)
+        dbg('Compiling ReST '+input)
         output = output+'.gen.latex'
         config.output_filename = os.path.basename(output)
         dbg_config('Output file: '+config.output_filename)
@@ -125,7 +129,16 @@
         import navidoc.modules.navbar
         config.working_directory = path
         navidoc.modules.navbar.postprocess(path)
-        
+
+    if imagemap:
+        if os.path.isfile(path):
+            last_dot = path.replace("../", "__/").rfind('.')
+            if last_dot != -1: path = path[:last_dot]+'.gen.html'
+            
+        import navidoc.modules.imagemap
+        config.working_directory = os.path.normpath(os.path.dirname(path))
+        navidoc.modules.imagemap.postprocess(path)
+
 def run_docutils(path):
     """
     Selects all ReST files under ``path`` directory (or the single file




reply via email to

[Prev in Thread] Current Thread [Next in Thread]