lovely, thanks again.
On 26/03/2008, Tim Golden <[EMAIL PROTECTED]> wrote: > > mark.a.brand wrote: > > what about events, > > > > for example i only want to return error and warning events for the last > 4 > > days from all logs. getting all the events and then filtering them will > be > > terrribly slow. > > > You let WMI do the filtering. For this, since it's a non-equi > filter (you want the last 4 days) you'll have to pass the WQL > through yourself. It's still advantageous to use the wmi > module for this, even though you're producing your own query, > since it wraps the results for you as _wmi_objects and gives > you easy access to their properties, methods etc. > > <code> > import wmi > import datetime > > five_days_ago = datetime.date.today () - datetime.timedelta (5) > wmi_five_days_ago = wmi.from_time (*five_days_ago.timetuple ()[:-1]) > > # > # WQL won't like the line feeds. Strip them out later. > # > WQL = """ > SELECT * > FROM Win32_NTLogEvent > WHERE (EventType = 1 OR EventType = 2) > AND TimeGenerated >= "%s" > """ % wmi_five_days_ago > > c = wmi.WMI () > for event in c.query (" ".join (WQL.split ())): > print event.Logfile, \ > event.RecordNumber, \ > wmi.to_time (event.TimeGenerated) > > </code> > > There's some slight messiness involved in the time aspects > of this. And I realise that, although the wmi module does > have a couple of helper functions (to_time and from_time) > they don't actually play all that well with the datetime > module. Still, they do return a recognisable tuple which > you can play with. I'll try to improve them anyway. > > > TJG > _______________________________________________ > python-win32 mailing list > python-win32@python.org > http://mail.python.org/mailman/listinfo/python-win32 >
_______________________________________________ python-win32 mailing list python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32