gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] navidoc/navidoc __init__.py parser.py directive...


From: Asko Soukka
Subject: [Gzz-commits] navidoc/navidoc __init__.py parser.py directive...
Date: Tue, 01 Apr 2003 04:30:28 -0500

CVSROOT:        /cvsroot/navidoc
Module name:    navidoc
Changes by:     Asko Soukka <address@hidden>    03/04/01 04:30:28

Modified files:
        navidoc        : __init__.py parser.py 
        navidoc/directives: pegboard.py 
        navidoc/link   : __init__.py 
        navidoc/mp     : __init__.py uml.py 
        navidoc/utils  : debug.py 
Added files:
        navidoc/link   : javadoc.py 

Log message:
        lunch-time

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/navidoc/__init__.py.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/navidoc/parser.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/navidoc/directives/pegboard.py.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/navidoc/link/javadoc.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/navidoc/link/__init__.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/navidoc/mp/__init__.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/navidoc/mp/uml.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/navidoc/navidoc/navidoc/utils/debug.py.diff?tr1=1.8&tr2=1.9&r1=text&r2=text

Patches:
Index: navidoc/navidoc/__init__.py
diff -u navidoc/navidoc/__init__.py:1.10 navidoc/navidoc/__init__.py:1.11
--- navidoc/navidoc/__init__.py:1.10    Mon Mar 31 10:24:19 2003
+++ navidoc/navidoc/__init__.py Tue Apr  1 04:30:28 2003
@@ -19,7 +19,7 @@
 # MA  02111-1307  USA
 # 
 
-#$Id: __init__.py,v 1.10 2003/03/31 15:24:19 humppake Exp $
+#$Id: __init__.py,v 1.11 2003/04/01 09:30:28 humppake Exp $
 
 #
 # Written by Asko Soukka
@@ -37,62 +37,52 @@
 docutils.utils.relative_path = utils.path.relative_path
 
 def docutils_system_message(self, level, message, *children, **kwargs):
-        """
-        See docutils.utils.Reporter.system_message()
-        This modified copy redirects docuils system messages
-        to navidoc debug.
-        """
-        attributes = kwargs.copy()
-        category = kwargs.get('category', '')
-        if kwargs.has_key('category'):
-            del attributes['category']
-        if kwargs.has_key('base_node'):
-            source, line = docutils.utils.get_source_line(kwargs['base_node'])
-            del attributes['base_node']
-            if source is not None:
-                attributes.setdefault('source', source)
-            if line is not None:
-                attributes.setdefault('line', line)
-        attributes.setdefault('source', self.source)
-        msg = docutils.nodes.system_message(message, level=level,
-                                   type=self.levels[level],
-                                   *children, **attributes)
-        debug, report_level, halt_level, stream = self[category].astuple()
-        if level >= report_level or debug and level == 0:
-            if category:
-                config.dbg.out("docutils", msg.astext(), '[%s]' % category)
-            else:
-                config.dbg.out("docutils", msg.astext())
-        if level >= halt_level:
-            raise docutils.utils.SystemMessage(msg)
-        if level > 0 or debug:
-            self.notify_observers(msg)
-        return msg
+    """
+    See docutils.utils.Reporter.system_message()
+    This modified copy redirects docuils system messages
+    to navidoc debug.
+    """
+    attributes = kwargs.copy()
+    category = kwargs.get('category', '')
+    if kwargs.has_key('category'):
+       del attributes['category']
+    if kwargs.has_key('base_node'):
+       source, line = docutils.utils.get_source_line(kwargs['base_node'])
+       del attributes['base_node']
+        if source is not None:
+            attributes.setdefault('source', source)
+        if line is not None:
+            attributes.setdefault('line', line)
+    attributes.setdefault('source', self.source)
+    msg = docutils.nodes.system_message(message, level=level,
+                                       type=self.levels[level],
+                                       *children, **attributes)
+    debug, report_level, halt_level, stream = self[category].astuple()
+    if level >= report_level or debug and level == 0:
+        if category:
+            config.dbg.out("docutils", msg.astext(), '[%s]' % category)
+        else:
+            config.dbg.out("docutils", msg.astext())
+    if level >= halt_level:
+        raise docutils.utils.SystemMessage(msg)
+    if level > 0 or debug:
+       self.notify_observers(msg)
+    return msg
 docutils.utils.Reporter.system_message = docutils_system_message
 
 class Element:
     """
     The general element for all subelements.
     """
-    list = None
-    linkpackage = None
 
-class NamedElement (Element):
+class NamedElement(Element):
     """
     Element with name and linking features.
     """
     def do_contents(self, list):
-        dbg_parser = config.dbg.shorthand('parser')
+        self.link = None
+       for element in list:
+           self.handle_contained(element)
 
-       for el in list:
-           self.handle_contained(el)
-       dbg_parser("Link: "+self.link)
-    def handle_contained(self, el):
-       if self.list.link_factor.is_type(el[0]):
-           link = el[1:]
-           if len(link):
-                self.link = self.list.link_factor.create_new(el[0], link[0][0])
-           else:
-                self.link = self.list.link_factor.create_new('link', 
link[0][0])
-       else:
-            self.list.add_sub_element(self.name, el)
+    def handle_contained(self, element):
+        config.element_list.add_contained_element(self.name, element)
Index: navidoc/navidoc/directives/pegboard.py
diff -u navidoc/navidoc/directives/pegboard.py:1.11 
navidoc/navidoc/directives/pegboard.py:1.12
--- navidoc/navidoc/directives/pegboard.py:1.11 Mon Mar 31 10:24:19 2003
+++ navidoc/navidoc/directives/pegboard.py      Tue Apr  1 04:30:28 2003
@@ -19,7 +19,7 @@
 # MA  02111-1307  USA
 # 
 
-# $Id: pegboard.py,v 1.11 2003/03/31 15:24:19 humppake Exp $
+# $Id: pegboard.py,v 1.12 2003/04/01 09:30:28 humppake Exp $
 
 #
 # Written by Benja Fallensten, Vesa Kaihlavirta, Asko Soukka
@@ -135,6 +135,7 @@
 
         rstfiles = [f for f in peg['files'] if f.endswith('.rst')]
 
+        config.dbg.mute('docutils')
         for rstfile in rstfiles:
             config.input_filename = rstfile
             config.output_filename = ''
@@ -176,6 +177,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')
 
         if not peg['html']:
             for file in peg['files']:
Index: navidoc/navidoc/link/__init__.py
diff -u navidoc/navidoc/link/__init__.py:1.3 
navidoc/navidoc/link/__init__.py:1.4
--- navidoc/navidoc/link/__init__.py:1.3        Fri Mar 28 08:08:57 2003
+++ navidoc/navidoc/link/__init__.py    Tue Apr  1 04:30:28 2003
@@ -19,7 +19,7 @@
 # MA  02111-1307  USA
 # 
 
-#$Id: __init__.py,v 1.3 2003/03/28 13:08:57 humppake Exp $
+#$Id: __init__.py,v 1.4 2003/04/01 09:30:28 humppake Exp $
 
 #
 # Written by Tuomas Lukka, Asko Soukka
@@ -29,23 +29,40 @@
 
 import config
 
+import navidoc
+
 from navidoc.utils.path import *
 
 dbg = config.dbg.shorthand('link')
 
-class Link:
+class Link (navidoc.Element):
+# target, title, bbox, focus=0, rough_edge=1, error=0
     key = 'link'
 
-    def __init__(self, target):
-        self.target = target
-        self.title = target
+    def __init__(self, var, s, list):
+        dbg(self.key+" VAR: %s, S: %s, LIST: %s" % (var, s, list))
+
+#    def __init__(self, var, s, list):
+#      self.seqobjs = []
+#      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
+
+    def setup_code(self): return ''
 
-    def draw_code(self, target, title, bbox):
+    def draw_code(self):
         """
         This should be overwritten elsewhere.
         """
-        dbg("Link.draw_code has no implementation.")
-        pass
+        return ''
    
 #        if jlink != None:
 #             #trimming jlink to comparable
Index: navidoc/navidoc/mp/__init__.py
diff -u navidoc/navidoc/mp/__init__.py:1.7 navidoc/navidoc/mp/__init__.py:1.8
--- navidoc/navidoc/mp/__init__.py:1.7  Mon Mar 31 10:24:19 2003
+++ navidoc/navidoc/mp/__init__.py      Tue Apr  1 04:30:28 2003
@@ -19,7 +19,7 @@
 # MA  02111-1307  USA
 # 
 
-# $Id: __init__.py,v 1.7 2003/03/31 15:24:19 humppake Exp $
+# $Id: __init__.py,v 1.8 2003/04/01 09:30:28 humppake Exp $
 
 #
 # Written by Tuomas Lukka, Asko Soukka
@@ -29,7 +29,7 @@
 
 import config
 
-import os, os.path
+import os, os.path, re
 import navidoc.link, navidoc.parser
 
 from navidoc.utils.path import *
@@ -37,12 +37,14 @@
 dbg = config.dbg.shorthand('mp')
 dbg_fail = config.dbg.shorthand('mp.fail')
 
-def link_draw_code(self, target, title, bbox, focus=0, rough_edge=1, error=0):
-    if error: return 'showlinkerror("'+target+'", '+title+',  ('+box+'));'
-    if not focus: return 'showlink("'+target+'", '+title+',  ('+box+'));'
+def link_draw_code(self):
+    if self.error: return 'showlinkerror("'+self.target+'", '+self.title+',  
('+self.bbox+'));'
+    if not self.focus: return 'showlink("'+self.target+'", '+self.title+',  
('+self.bbox+'));'
     else:
-        if rough_edge: return 'showfocus("'+target+'", '+title+', 
('+box+'));'+"\n"+'drawRoughEdge(('+box+'));'
-        else: return 'showfocus("'+target+'", '+title+', ('+box+'));'
+        if self.rough_edge:
+            return 'showfocus("'+self.target+'", '+self.title+', 
('+self.bbox+'));' \
+                   +"\n"+'drawRoughEdge(('+bbox+'));'
+        else: return 'showfocus("'+self.target+'", '+self.title+', 
('+self.box+'));'
 navidoc.link.Link.draw_code = link_draw_code
 
 class MetapostElement(navidoc.NamedElement):
@@ -74,8 +76,8 @@
         raise 
MetapostException(slashify(config.mp_directory)+diagram+'.gen.mp'+' not found')
     
     s = open(slashify(config.mp_directory)+diagram+'.gen.uml').read()
-    l = parseIndented(s)
-    m = mplist(l)
+    l = navidoc.utils.parser.parse_indented(s)
+    m = navidoc.parser.ElementList(l)
 
     if len(extension) > 0: extension = '_'+extension
 
Index: navidoc/navidoc/mp/uml.py
diff -u navidoc/navidoc/mp/uml.py:1.4 navidoc/navidoc/mp/uml.py:1.5
--- navidoc/navidoc/mp/uml.py:1.4       Mon Mar 31 10:24:19 2003
+++ navidoc/navidoc/mp/uml.py   Tue Apr  1 04:30:28 2003
@@ -19,7 +19,7 @@
 # MA  02111-1307  USA
 # 
 
-# $Id: uml.py,v 1.4 2003/03/31 15:24:19 humppake Exp $
+# $Id: uml.py,v 1.5 2003/04/01 09:30:28 humppake Exp $
 
 #
 # Written by Tuomas Lukka, Asko Soukka
@@ -135,6 +135,7 @@
        self.name = s
        self.list = self.parse_contents(None, list)
        self.ycode = ""
+
     def parse_contents(self, source_name, list):
        l = []
        for el in list:
Index: navidoc/navidoc/parser.py
diff -u navidoc/navidoc/parser.py:1.7 navidoc/navidoc/parser.py:1.8
--- navidoc/navidoc/parser.py:1.7       Mon Mar 31 10:24:19 2003
+++ navidoc/navidoc/parser.py   Tue Apr  1 04:30:28 2003
@@ -19,7 +19,7 @@
 # MA  02111-1307  USA
 # 
 
-# $Id: parser.py,v 1.7 2003/03/31 15:24:19 humppake Exp $
+# $Id: parser.py,v 1.8 2003/04/01 09:30:28 humppake Exp $
 
 #
 # Written by Tuomas Lukka, Asko Soukka
@@ -34,24 +34,24 @@
 
 dbg = config.dbg.shorthand('parser')
 
-class Factor:
+class ElementFactor:
     """
     Gather available linktypes from modules.
     """
 
-    types = {}
+    top_class = navidoc.Element
 
-    def __init__(self, element_list, module_paths, top_class):
-        self.types.clear()
-        self.element_list = element_list
+    def __init__(self, module_paths):
+        self.types = {}
         for module_path in module_paths:
-            dbg ("Checking  module: "+str(module_path))
-            self.types.update(keys_for_classes(module_path, top_class))
+            dbg ("Checking module: "+str(module_path))
+            self.types.update(keys_for_classes(module_path, self.top_class))
             for module in dir(module_path):
                 module = getattr(module_path, module)
                 if type(module) == type(navidoc):
-                    dbg ("Checking  module: "+str(module))
-                    self.types.update(keys_for_classes(module, top_class))
+                    dbg ("Checking module: "+str(module))
+                    # XXX Needs check and exception for conflicting element 
types
+                    self.types.update(keys_for_classes(module, self.top_class))
         dbg("Collected: "+str(self.types))
 
     def is_type(self, key): return self.types.has_key(key)
@@ -61,25 +61,13 @@
         Return an element type class reference for key.
         """
         if self.types.has_key(key):
-            dbg("Internal: "+self.types[key])
             return self.types[key]
        else: raise ParserException("Unknown element key: "+key)
 
-class LinkFactor(Factor):
-    """
-    """
-    def create_new(self, key, target):
-        type = self.get_type(key)
-        new = type(target)
-        return new
-
-class ElementFactor(Factor):
-    """
-    """
     def create_new(self, key, var, s, list):
         type = self.get_type(key)
+        dbg("Found element: "+str(type))
         new = type(var, s, list)
-        new.list = self.element_list
         return new
 
 class ElementList:
@@ -91,22 +79,22 @@
         """
         Initializes ElementList by parsing all elements in list.
         """
-        self.element_factor = ElementFactor(self, [mp], navidoc.Element)
-        self.link_factor = LinkFactor(self, [link], link.Link)
-        self.linkpackage = None
+        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)
 
-    def add_sub_element(self, super_name, element):
+    def add_contained_element(self, super_name, element):
         """
         Add a subelement.
         """
        s = element[0]
-       (w,s) = match_remove("^\s*(\w+)\s*", s)
-       key = w.group(1)
-       element = self.element_factor.create_new(key, None, super_name + " " + 
s, element[1:])
-       self.extras.append(element)
+        (w,s) = match_remove("^\s*(\w+)\s*", s)
+        key = w.group(1)
+        element = self.factor.create_new(key, None, super_name + " " + s, 
element[1:])
+        self.extras.append(element)
 
     def parse_element(self, element):
         """
@@ -118,11 +106,8 @@
        if m: name = m.group(1) 
        (w,s) = match_remove("^\s*(\w+)\s*", s)
        key = w.group(1)
-       if key == "linkpackage": 
-           self.linkpackage = s
-           return None
         dbg('Creating %s %s %s %s.' % (key, name, s, element[1:]))
-        element = self.element_factor.create_new(key, name, s, element[1:])
+        element = self.factor.create_new(key, name, s, element[1:])
         return element
 
     def setup_code(self):
Index: navidoc/navidoc/utils/debug.py
diff -u navidoc/navidoc/utils/debug.py:1.8 navidoc/navidoc/utils/debug.py:1.9
--- navidoc/navidoc/utils/debug.py:1.8  Thu Mar 27 06:56:21 2003
+++ navidoc/navidoc/utils/debug.py      Tue Apr  1 04:30:28 2003
@@ -19,7 +19,7 @@
 # MA  02111-1307  USA
 # 
 
-#$Id: debug.py,v 1.8 2003/03/27 11:56:21 humppake Exp $
+#$Id: debug.py,v 1.9 2003/04/01 09:30:28 humppake Exp $
 
 #
 # Written by Asko Soukka
@@ -43,8 +43,12 @@
     def enable(self, dbg_name):
         self.output_enabled[dbg_name] = 1
 
+    def mute(self, dbg_name):
+        self.output_enabled[dbg_name] = 0
+
     def out(self, dbg_name, dbg_str):
-        if self.output_enabled.has_key(dbg_name):
+        if self.output_enabled.has_key(dbg_name) \
+               and self.output_enabled[dbg_name]:
             print "[", dbg_name, "]", dbg_str
         else:
             if not self.buffer.has_key(dbg_name):




reply via email to

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