I had posted and emailed various places, to find a tutorial or example of
how to write my own scripts in Rekall to access Postgresql. Someone was
kind enough to send me the following example, so I want to share it with anyone
who may be interested in using Rekall as a front end to Postgresql.
I strongly feel that Rekall developers should assemble and make available
such tutorials, because it will help to promote the popularity of Rekall and
increase the user base. There are many people like me, who are clever
enough to learn from good examples and become productive, but are lost without
examples and tutorials.
If I can become even somewhat productive with Rekall, I will certainly
purchase the product and/or support ... its not that I want everything for free.
I just want to know that I am purchasing something I make work and get some use
out of.
If anyone else has some Rekall examples they would like to share, please
email me directly, if you like, typing80wpm (at) aol (dot) com
Or, if you know of an email listserve or a forum where I could find such
help, examples, tutorials, code snippets.
Thanks for your help!
>
> What I REALLY NEED right now is a working example of a REKALL python > script which could do SQL pass through to the Postgres engine which is now > working on the P2P. I really like Rekall, but it is frustrating that there > are no examples. > Here's a little examle. Its the "onclick" event function for a button, and it loads a choice control with surnames taken from a table called users: def eventFunc(button) : # Load the RekallPYDBI module. This provides direct access to the database # begind Rekall # import RekallPYDBI # Get a "cursor". We do this by connecting to the database: the # (button,"") arguments just connect to the database that the form is # running in. # cursor = RekallPYDBI.connect (button, '').cursor() # Execute a query. This only gets people whose ages are 21 or above. # This is the important bit, we are accessing the database directly. # cursor.execute ("select surname from users where age >= ?", [21]) # Assemble a list of surnames. Create an empty list, then for each record # returned by the cursor, append the first item in the record (the # surname) to the list # values = [] for record in cursor.fetchall() : values.append (record[0]) # Load the choice control. This is for a control called "people" in the # same block as the button (".." moves from the button up into its block, # then "people" find the people choice control. # choice = button.getNamedCtrl('../people') choice.setValues (values) The key is getting the "cursor". Once you have a cursor you can do inserts, updates and deletes, like cursor.execute("delete from customers where balance < 0.01") cursor.execute("insert into users (firstname, surname) values (?, ?)", ['john', 'smith']) cursor.execute("update users set firstname = ? where surname = ?", ['john', 'smith']) |