From 4192960a9ee692f7c7c1aa3d4393518910ec7542 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 26 Sep 2012 02:37:01 +0200 Subject: find_missing_doc: Convert to python. --- docs-xml/scripts/find_missing_doc | 119 +++++++++++++++++++-------------- docs-xml/scripts/find_missing_manpages | 43 ++++++++---- 2 files changed, 100 insertions(+), 62 deletions(-) (limited to 'docs-xml/scripts') diff --git a/docs-xml/scripts/find_missing_doc b/docs-xml/scripts/find_missing_doc index 6ce547be3e..d75ef8dcc7 100755 --- a/docs-xml/scripts/find_missing_doc +++ b/docs-xml/scripts/find_missing_doc @@ -1,62 +1,83 @@ -#!/usr/bin/perl +#!/usr/bin/python -my %doc; +# Copyright (C) 2007,2012 Jelmer Vernooij -$topdir = (shift @ARGV) or $topdir = "."; +# 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 3 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, see . +# -################################################## -# Reading links from manpage - -$curdir = $ENV{PWD}; - -chdir("smbdotconf"); +import optparse +import os +import re -open(IN,"xsltproc --xinclude --param smb.context ALL generate-context.xsl parameters.all.xml|"); +parser = optparse.OptionParser("source_dir") -while() { - if( /) { - last if $ln =~ m/^static\ struct\ parm_struct\ parm_table.*/; -} #burn through the preceding lines +curdir = os.getcwd() +doc = {} -while ($ln = ) { - last if $ln =~ m/^\s*\}\;\s*$/; - #pull in the param names only - next if $ln =~ m/.*P_SEPARATOR.*/; - next unless $ln =~ /\s*\.label\s*=\s*\"(.*)\".*/; +os.chdir("smbdotconf"); - my $name = $1; - $name =~ s/ //g; +f = os.popen("xsltproc --xinclude --param smb.context ALL generate-context.xsl parameters.all.xml", "r") +try: + for l in f.readlines(): + m = re.match(' + +# 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 3 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, see . +# import optparse import os @@ -8,7 +23,7 @@ parser = optparse.OptionParser("source_dir") (opts, args) = parser.parse_args() -invar = 0 +invar = False if len(args) == 1: topdir = args[0] @@ -18,19 +33,21 @@ else: progs = [] f = open(os.path.join(topdir, "Makefile.in"), "r") - -for l in f.readlines(): - l = l.strip() - if invar: - invar = (l[-1] == "\\") - progs.extend(l.rstrip("\\").split(" ")) - else: - m = re.match("^([^ ]*)_PROGS([0-9]*) = (.*?)([\\\\])$", l) - if m: - progs.extend(m.group(3).split(" ")) - invar = (m.group(4) == "\\") +try: + for l in f.readlines(): + l = l.strip() + if invar: + invar = (l[-1] == "\\") + progs.extend(l.rstrip("\\").split(" ")) else: - invar = False + m = re.match("^([^ ]*)_PROGS([0-9]*) = (.*?)([\\\\])$", l) + if m: + progs.extend(m.group(3).split(" ")) + invar = (m.group(4) == "\\") + else: + invar = False +finally: + f.close() #$progs =~ s/@([^@]+)@//g; #$progs =~ s/\$\(.*?\)//g; -- cgit