hktools-0.21beta4:
*Up and Down Pager is now a class
*Log Reader is a new class:
It will always hold the most recent 50 messages of a miranda log file created by msg-export.
a new logreader object is created like this
local log=hk.LogAccess:New(filename)
After that it has to be initialized once: log:Initialize()
it will read the whole file and save it in a table, for now it only supports the syntax for miranda logs and will group multiple lines belonging to the same message as one entry in the table it will also store the current position in the file for later reference
Periodically log:Update() should be called, which will see if the file size has changed and put any new messages into place 1 of the message table and delete the latest.
You get access to the log by calling something like messages = log:Read() (which will return the last 50 messages, this is hardcoded for now)
The effect is that the use of cpu, ram and hard drive access goes down drastically!
*most miranda functions have been optimized for the garbage collector, any non needed objects are freed as soon as a function is done and the garbage collector is called manually. This probably has some bad effects on comparisons elsewhere, for example tables can't be compared without comparing the actual contents of the tables.
So beware that while miranda should be stable and ram consumption should be constant (it could easily go up to 100+MB before), for now other parts of hk tools might give trouble and I expect other lua scripts would give trouble too since the garbagecollector is quite aggressive now.
Also the log reader will only work if you have at least 50 messages in the miranda log file, which is an inconvenience. so you have to fill your log with 50 messages before things will start to work. (this will be fixed in the next beta)New Link:
http://www.fileden.com/files/2010/3/8/2787526/0.21beta4.zip