summaryrefslogtreecommitdiffstats
path: root/feed/sse_db.py
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2005-11-21 23:06:55 +0000
committerLennart Poettering <lennart@poettering.net>2005-11-21 23:06:55 +0000
commit71e7248cba9a5b78531aeaac7a58e811ec701dba (patch)
tree85087eaf6464bb47c14419e61243f5d01dbf050f /feed/sse_db.py
parente2df88d73130ed8237efeff3bdae9fd9f5e0c0a3 (diff)
a days work
git-svn-id: file:///home/lennart/svn/public/sse/trunk@16 5fbabb74-0606-0410-a5e4-b5cc6a42724e
Diffstat (limited to 'feed/sse_db.py')
-rw-r--r--feed/sse_db.py75
1 files changed, 75 insertions, 0 deletions
diff --git a/feed/sse_db.py b/feed/sse_db.py
new file mode 100644
index 0000000..4cf2af3
--- /dev/null
+++ b/feed/sse_db.py
@@ -0,0 +1,75 @@
+
+import sys, os, MySQLdb, stat
+
+db = MySQLdb.connect(host = "localhost", user = "sse_web", passwd = "ece6Yoli", db = "sse")
+cursor = db.cursor();
+cursor.execute("SET AUTOCOMMIT=0")
+
+def commit():
+ cursor.execute('COMMIT')
+
+def rollback():
+ cursor.execute('ROLLBACK')
+
+def start_transaction():
+ cursor.execute('START TRANSACTION')
+
+def last_insert_id():
+ cursor.execute('SELECT LAST_INSERT_ID()')
+ return int(cursor.fetchone()[0])
+
+def new_package(archive, root, meta):
+
+ cursor.execute('INSERT INTO package (path, timestamp, md) VALUES (%s, NOW(), %s)', (root + '/%s', meta["md"]))
+
+ return last_insert_id();
+
+def find_package(md):
+
+ cursor.execute('SELECT id FROM package WHERE md=%s', md)
+
+ if cursor.rowcount <= 0:
+ return None
+
+ return int(cursor.fetchone()[0])
+
+def new_provider_record(recid, package_id, provider_id, meta):
+
+ try:
+ name = meta["name"]
+ except KeyError:
+ name = "noname"
+
+ try:
+ url = meta["project-url"]
+ except KeyError:
+ url = ""
+
+ try:
+ download_url = meta["archive-url"]
+ except KeyError:
+ download_url = ""
+
+ try:
+ l = meta["license"]
+ except KeyError:
+ l = ""
+
+ cursor.execute('REPLACE provider_record (id, package_id, provider_id, name, url, download_url, license) VALUES (%s, %s, %s, %s, %s, %s, %s)', (recid, package_id, provider_id, name, url, download_url, l))
+
+
+def new_file(package_id, path, language_id = 0):
+
+ cursor.execute('INSERT INTO file (package_id, path, language_id) VALUES (%s, %s, %s)', (package_id, path, language_id));
+
+ return last_insert_id()
+
+def new_word(file_id, text, is_subword):
+
+ if is_subword:
+ t = "subword"
+ else:
+ t = "word"
+
+ cursor.execute('INSERT IGNORE INTO word (text, type, file_id, cnt) VALUES (%s, %s, %s, 0)', (text, t, file_id))
+ cursor.execute('UPDATE word SET cnt=cnt+1 WHERE text=%s AND type=%s AND file_id=%s', (text, t, file_id))