]> git.saurik.com Git - cycript.git/blobdiff - libcycript.py
Automatically generate FFI bridges using libclang.
[cycript.git] / libcycript.py
diff --git a/libcycript.py b/libcycript.py
new file mode 100755 (executable)
index 0000000..682e2d1
--- /dev/null
@@ -0,0 +1,23 @@
+#!/usr/bin/python
+
+import os
+import sqlite3
+import sys
+
+keys = {}
+
+for db in sys.argv[2:]:
+    with sqlite3.connect(db) as sql:
+        c = sql.cursor()
+        for name, system, value in c.execute('select name, system, value from cache'):
+            key = (name, value)
+            keys[key] = keys.get(key, 0) | system
+
+db = sys.argv[1]
+with sqlite3.connect(db) as sql:
+    many = []
+    for key, system in keys.items():
+        name, value = key
+        many.append((name, system, value))
+    c = sql.cursor()
+    c.executemany("insert into cache (name, system, value) values (?, ?, ?)", many)