summaryrefslogtreecommitdiffstats
path: root/pyload/database/AccountDatabase.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyload/database/AccountDatabase.py')
-rw-r--r--pyload/database/AccountDatabase.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/pyload/database/AccountDatabase.py b/pyload/database/AccountDatabase.py
new file mode 100644
index 000000000..eaa1a3203
--- /dev/null
+++ b/pyload/database/AccountDatabase.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+
+from pyload.database import queue, async
+from pyload.database import DatabaseBackend
+
+
+class AccountMethods:
+ @queue
+ def loadAccounts(db):
+ db.c.execute('SELECT plugin, loginname, activated, password, options FROM accounts;')
+ return db.c.fetchall()
+
+ @async
+ def saveAccounts(db, data):
+ # TODO: owner, shared
+
+ db.c.executemany(
+ 'INSERT INTO accounts(plugin, loginname, activated, password, options) VALUES(?,?,?,?,?)', data)
+
+ @async
+ def removeAccount(db, plugin, loginname):
+ db.c.execute('DELETE FROM accounts WHERE plugin=? AND loginname=?', (plugin, loginname))
+
+
+DatabaseBackend.registerSub(AccountMethods) \ No newline at end of file