Dateien werden nicht korrekt eingelesen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
vikingrussel
User
Beiträge: 40
Registriert: Mittwoch 30. Mai 2007, 07:45

Wie die Überschrift schon sagt, werden in diesem Script die Dateien nicht eingelesen

Code: Alles auswählen

# -*- coding: cp1252 -*-
from lxml import etree
import codecs
import string
import re, sys
from os import listdir
from os.path import getmtime
from time import ctime

# Öffnen von Log-Datei(en)
sourceDir = 'C:\\Dokumente und Einstellungen\\maruscma\\Eigene Dateien\\backup-log\\'
sourceFilePattern = re.compile ('backup[0-1]+\.log')

#Suchmuster
medium = re.compile('^Mediumname: "(?P<m>[^"]+)') 
drive = re.compile('^Sicherung von (?P<d>.*)')
art = re.compile('^Sicherungsart: (?P<a>.*)')
datebeg = re.compile ('^Sicherung begonnen am (?P<b>[0-9\.]+) um (?P<n>[0-9:]+)')
dtimebeg = re.compile ('^Sicherung begonnen am (?P<b>[0-9.]+)')
dateend = re.compile('^Sicherung abgeschlossen am (?P<e>[0-9\.]+) um (?P<v>[0-9:]+)')
dtimeend = re.compile('^Sicherung abgeschlossen am (?P<e>[0-9\.]+)')
directory = re.compile('^Verzeichnisse: (?P<i>.*)')
files = re.compile('^Dateien: (?P<f>.*)')
time = re.compile('^Zeit: (?P<t>.*)')
error = re.compile('^Der Vorgang wurde (?P<r>.*)')
warning = re.compile('^Warnung: (?P<x>.*)')
reason = re.compile('^Ursache: (?P<y>.*)')
destination = re.compile('^Aktives Sicherungsziel: (?P<z>.*)')

# Gibt Liste aller Dateien mit Tupel aus Dateiname und Aenderungsdatum,
# sortiert nach  Aenderungsdatum, zurueck
def FileSortByDate(dir, pattern):
    fileList = []
    dateList = []
    returnList = []
    for file in listdir(dir):
        if pattern.match(file):
            fileModifyDate = getmtime(dir+file)
            dateList.append(fileModifyDate)
            fileList.append((dir+file, fileModifyDate))
        dateList.sort()

    for date in dateList:
        n = 0
        for file in fileList:
            if file[1] == date:
                returnList.append( file ) 
                fileListRest = fileList[n+1:]
                fileList = fileList[:n]
                fileList.extend(fileListRest)
                continue
            n += 1
    return( returnList )

def readin(file):
    logfile = codecs.open(file[0], 'r', 'utf-16')
    inhaltlist = search(logfile)
    logfile.close()
    return inhaltlist

#listcount = -1


#sys.exit()
def search(logfile):
    inhaltlist = []
    inhaltdic = {}
    listcount = -1
    for z in logfile.readlines():
        #key, inhalt, listcount = suchen(listcount)      
        #print key, inhalt
        #key = inhalt = ''
        z1 = medium.search(z)
        if z1:
            medium1 = z1.group('m')
                        
        z2 = drive.search(z)
        if z2:
            listcount += 1
            drive2 = z2.group('d')
            inhaltdic['drive'] = drive2
            inhaltlist.append(inhaltdic)
        
        z3 = art.search(z)
        if z3:
            listcount += 1
            art3 = z3.group('a')
            inhaltdic['art'] = art3
            inhaltlist.append(inhaltdic)
        
        z4 = datebeg.search(z)
        if z4:
            listcount += 1
            datum4 = z4.group('b')
            uhrzeit10 = z4.group('n')
            inhaltdic['datebeg'] = uhrzeit10
            inhaltlist.append(inhaltdic)
        
        z5 = dateend.search(z)
        if z5:
            listcount += 1
            datum5 = z5.group('e')
            uhrzeit11 = z5.group('v')
            inhaltdic['dateend'] = uhrzeit11
            inhaltlist.append(inhaltdic)
        
        z6 = directory.search(z)
        if z6:
            listcount += 1
            verzeichnisse6 = z6.group('i')
            inhaltdic['directory'] = verzeichnisse6
            inhaltlist.append(inhaltdic)
        
        z7 = files.search(z)
        if z7:
            listcount += 1
            dateien7 = z7.group('f')
            inhaltdic['files'] = dateien7
            inhaltlist.append(inhaltdic)
        
        z8 = time.search(z)
        if z8:
            listcount += 1
            dauer8 = z8.group('t')
            tformat = re.findall(r'(\d+) ', dauer8)
            inhaltdic['time'] = tformat
            inhaltlist.append(inhaltdic)
            
        z9 = error.search(z)
        if z9:
            listcount += 1
            fehler9 = z9.group('r')
            inhaltdic['error'] = fehler9
            inhaltlist.append(inhaltdic)
        else:
            fehler9 = ''
            inhaltdic['error'] = fehler9
            inhaltlist.append(inhaltdic)

        z11 = dtimebeg.search(z)
        if z11:
            listcount += 1
            dtimebeg11 = z11.group('b')
            inhaltdic['dtimebeg'] = dtimebeg11
            inhaltlist.append(inhaltdic)
        
        z12 = dtimeend.search(z)
        if z12:
            listcount += 1
            dtimeend12 = z12.group('e')
            inhaltdic['dtimeend'] = dtimeend12
            inhaltlist.append(inhaltdic)
        
        z13 = warning.search(z)
        if z13:
            listcount += 1
            warning13 = z13.group('x')
            inhaltdic['warning'] = warning13
            inhaltlist.append(inhaltdic)
        else:
            warning13 = ''
            inhaltdic['warning'] = warning13
            inhaltlist.append(inhaltdic)
        
        z14 = reason.search(z)       
        if z14:
            listcount += 1
            reason14 = z14.group('y')
            inhaltdic['reason'] = reason14
            inhaltlist.append(inhaltdic)
        else:
            reason14 = ''
            inhaltdic['reason'] = reason14
            inhaltlist.append(inhaltdic)

        z15 = destination.search(z)
        if z15:
            listcount += 1
            destination15 = z15.group('z')
            inhaltdic['destination'] = destination15
            inhaltlist.append(inhaltdic)
        print 1, inhaltlist
                
        #nhaltdic[key] = inhalt
        #inhaltlist.append(inhaltdic)
        return inhaltlist
        

#Einlesen der Zeilen nach Suchmuster
d = FileSortByDate(sourceDir, sourceFilePattern)
for v in d:
    inhalt = readin(v)
Wäre um Hilfe sehr dankbar
MfG VikingRussel
vikingrussel
User
Beiträge: 40
Registriert: Mittwoch 30. Mai 2007, 07:45

hat sich erledigt, der Fehler lag woanders.
in der letzten Zeile von der letzten Funktion ist das `return inhaltlist` zu weit eingerückt gewesen
Antworten