14 # |
14 # |
15 #Contributors: |
15 #Contributors: |
16 # |
16 # |
17 #Description: |
17 #Description: |
18 #=============================================================================== |
18 #=============================================================================== |
|
19 """ plugin that gets copied to raptor folder so that when raptor (SBS) runs it |
|
20 knows the format of the log files. |
|
21 """ |
19 |
22 |
20 import os |
23 import os |
21 import sys |
24 import sys |
22 import raptor |
|
23 import filter_interface |
25 import filter_interface |
24 import re |
|
25 import xml.sax |
|
26 import datetime |
|
27 import time |
|
28 from xml.sax.handler import ContentHandler |
|
29 from xml.dom.minidom import parse, parseString |
|
30 from xml.sax.saxutils import XMLGenerator |
|
31 from xml.sax.xmlreader import AttributesNSImpl |
|
32 import codecs |
|
33 from sbsscanlogmetadata import SBSScanlogMetadata |
26 from sbsscanlogmetadata import SBSScanlogMetadata |
34 from optparse import OptionParser |
|
35 |
27 |
|
28 class FilterMetadataLog(filter_interface.Filter): |
|
29 """filter used by raptor for scanning metadata logs""" |
36 |
30 |
37 |
|
38 |
|
39 """ plugin that gets copied to raptor folder so that wehn raptor (SBS) runs it |
|
40 knows the format of the log files. |
|
41 """ |
|
42 class FilterMetadataLog(filter_interface.Filter): |
|
43 """Log scanner for filter logs""" |
|
44 def open(self, raptor_instance): |
31 def open(self, raptor_instance): |
45 """Open a log file for the various I/O methods to write to.""" |
32 """Open a log file for the various I/O methods to write to.""" |
46 self.raptor = raptor_instance |
33 self.raptor = raptor_instance |
47 self.logFileName = self.raptor.logFileName |
34 self.logFileName = self.raptor.logFileName |
48 self.scanlog = SBSScanlogMetadata() |
35 self.scanlog = SBSScanlogMetadata() |
49 |
36 |
50 # insert the time into the log file name |
37 # insert the time into the log file name |
51 if self.logFileName: |
38 if self.logFileName: |
52 self.logFileName.path = self.logFileName.path.replace("%TIME", |
39 self.logFileName.path = self.logFileName.path.replace("%TIME", |
53 self.raptor.timestring) |
40 self.raptor.timestring) |
54 |
|
55 try: |
41 try: |
56 dirname = str(self.raptor.logFileName.Dir()) |
42 dirname = str(self.raptor.logFileName.Dir()) |
57 if dirname and not os.path.isdir(dirname): |
43 if dirname and not os.path.isdir(dirname): |
58 os.makedirs(dirname) |
44 os.makedirs(dirname) |
59 except Exception, e_error: |
45 except Exception: |
60 return False |
46 return False |
61 return self.scanlog.initialize(self.logFileName) |
47 return self.scanlog.initialize(self.logFileName) |
62 else: |
48 else: |
63 self.out = sys.stdout |
49 self.out = sys.stdout |
64 |
|
65 return True |
50 return True |
66 |
51 |
67 def write(self, text): |
52 def write(self, text): |
68 """write the text to the opened file""" |
53 """write the text to the opened file""" |
69 return self.scanlog.write(text) |
54 return self.scanlog.write(text) |