Edgewall Software

Changes between Version 3 and Version 4 of GenshiRecipes/RecursiveIncludeScanner

Show
Ignore:
Timestamp:
02/04/08 19:07:58 (6 years ago)
Author:
anonymous
Comment:

Fixed the code to work with current Genshi

Legend:

Unmodified
Added
Removed
Modified
  • GenshiRecipes/RecursiveIncludeScanner

    v3 v4  
    2020 
    2121This solution was kindly provided by Christopher Lenz <cmlenz@gmx.de> 
     22Updated 2008-02-04 to work with changes to Genshi by Stephan Sokolow <http://www.ssokolow.com/ContactMe> 
    2223""" 
    2324 
    24 import os,sys 
     25import os, sys 
    2526from genshi.core import START 
    26 from genshi.filters import IncludeFilter 
    2727from genshi.input import XMLParser 
    28   
    29 def scan_xincludes(filename): 
    30     basedir, filename = os.path.split(filename) 
    31     namespace = IncludeFilter.NAMESPACE 
     28 
     29def scan_xincludes(filepath): 
     30    basedir, filename = os.path.split(filepath) 
    3231    includes = set([filename]) 
    3332    notfound = set() 
    3433    visited = set() 
    35   
     34 
    3635    def collect(filename): 
    3736        try: 
     
    4140                    if kind is START: 
    4241                        tag, attrib = data 
    43                         if tag in namespace and tag.localname == 'include': 
     42                        if tag.namespace == 'http://www.w3.org/2001/XInclude' and tag.localname == 'include': 
    4443                            includes.add(attrib.get('href')) 
    4544            finally: 
     
    5049            notfound.add(filename) 
    5150 
    52   
    5351    while len(includes) > len(visited): 
    5452        for filename in includes - visited: 
    5553            collect(filename) 
    56   
     54 
    5755    return includes,notfound 
    5856