# Copyright (C) 1998,1999 marduk # Copyright (C) 2002 Mike Meyer # # 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., 675 Mass Ave, Cambridge, MA 02139, USA. """Your site at-a-glance""" __version__ = '1.0' __author__ = 'mwm@mired.org' import webcheck from rptlib import * title = 'Site Map' level = 0 def explore(link, explored): """Recursively do a breadth-first traversal of the graph of links on the site. Returns a list of HTML fragments that can be printed to produce a site map.""" global level if level > webcheck.config.REPORT_SITEMAP_LEVEL: return [] # XXX I assume an object without a .URL is something # uninteresting? --amk if not hasattr(link, 'URL'): return [] level=level+1 explored[ link.URL ] = 1 to_explore = [] L = ['' ) level=level-1 # If no sub-pages were traversed at all, just return an empty list # to avoid redundant pairs if len(L) == 2: return [] return L # site map def generate(): print make_link(webcheck.Link.base,'Starting Page') L = explore(webcheck.Link.base, {}) for i in L: print i