E.4.5 Klasse zur Ausführung eines INFO-Kommandos

# -------------------------------------------------------------
# Projekt : Digitale Bibliotheken Projekt
# Uni-Frankfurt/M, Professur Telematik und
# verteilte Systeme, Prof. O. Drobnik
# Diplomarbeit, Matzen,Hans, 1997
# Dateiname : c_info.py
# Datum : 03.11.1997
# letzte Änderung :
# Autor : Hans Matzen, 1997, Frankfurt/M, Deutschland
# Sprache : Python v1.4
# Beschreibung : Klasse die Informationen ueber alle
# verfuegbaren Klassen der Programmbibliothek
# liefert
# Anmerkungen :
#
# -------------------------------------------------------------
 
import os
import string
from sc_globals import *
 
 
 
class c_info:
    #
    # Konstruktor
    #
    def __init__(self):
        self.info=""
 
    #
    # Liefert Informationen ueber alle Klassen im
    # Pfad der Programmbibliothek
    #
    def get_info(self):
        found=[]
        found = os.listdir(DL_MIPATH)
        miclass=[]
        h1=0
        # stelle Liste der Dateien zusammmen
        # und speichere sie in miclass
        while h1<len(found)-1:
            if found[h1][-4:-1]!=".py":
                miclass.append(found[h1])
                h1=h1+1
 
        # Durchlaufe alle Klassen
        while miclass !=[]:
                print "Scanne Klasse: ",miclass[0]
                fd=open(DL_MIPATH+miclass[0],"r")
                zeile=" "
                # Zeile fuer Zeile durchsuchen
                while zeile!="":
                    zeile=fd.readline()
                    # eine neue Klasse ?
                    if string.lstrip(zeile)[0:6]=="class ":
                        self.info=self.info+zeile+"\n"
                    # ein neue Methode ?
                    if string.lstrip(zeile)[0:4]=="def ":
                        self.info=self.info+" "+zeile[:-2]+"\n"
                 
                 
                fd.close()
                del miclass[0]
                self.info=self.info+"\n\n"
                 
        return self.info