Exemple #1
0
        """return list of max length 3 ids with pyfiles in package not finished or processed"""

        self.c.execute("SELECT id FROM links WHERE package=? AND status NOT IN (0, 4, 13) LIMIT 3", (str(pid),))
        return [r[0] for r in self.c]


    @style.queue
    def deleteFinished(self):
        self.c.execute("DELETE FROM links WHERE status IN (0, 4)")
        self.c.execute("DELETE FROM packages WHERE NOT EXISTS(SELECT 1 FROM links WHERE packages.id=links.package)")


    @style.queue
    def restartFailed(self):
        self.c.execute("UPDATE links SET status=3, error='' WHERE status IN (6, 8, 9)")


    @style.queue
    def findDuplicates(self, id, folder, filename):
        """ checks if filename exists with different id and same package """
        self.c.execute("SELECT l.plugin FROM links as l INNER JOIN packages as p ON l.package=p.id AND p.folder=? WHERE l.id!=? AND l.status=0 AND l.name=?", (folder, id, filename))
        return self.c.fetchone()


    @style.queue
    def purgeLinks(self):
        self.c.execute("DELETE FROM links;")
        self.c.execute("DELETE FROM packages;")

DatabaseBackend.registerSub(FileMethods)
Exemple #2
0
                (value, identifier, key))
        else:
            db.c.execute(
                "INSERT INTO storage (identifier, key, value) VALUES (?, ?, ?)",
                (identifier, key, value))

    @queue
    def getStorage(db, identifier, key=None):
        if key is not None:
            db.c.execute(
                "SELECT value FROM storage WHERE identifier=? AND key=?",
                (identifier, key))
            row = db.c.fetchone()
            if row is not None:
                return row[0]
        else:
            db.c.execute("SELECT key, value FROM storage WHERE identifier=?",
                         (identifier, ))
            d = {}
            for row in db.c:
                d[row[0]] = row[1]
            return d

    @queue
    def delStorage(db, identifier, key):
        db.c.execute("DELETE FROM storage WHERE identifier=? AND key=?",
                     (identifier, key))


DatabaseBackend.registerSub(StorageMethods)
Exemple #3
0
    @style.async
    def setRole(db, user, role):
        db.c.execute("UPDATE users SET role=? WHERE name=?", (role, user))


    @style.queue
    def listUsers(db):
        db.c.execute('SELECT name FROM users')
        users = []
        for row in db.c:
            users.append(row[0])
        return users


    @style.queue
    def getAllUserData(db):
        db.c.execute("SELECT name, permission, role, template, email FROM users")
        user = {}
        for r in db.c:
            user[r[0]] = {"permission": r[1], "role": r[2], "template": r[3], "email": r[4]}

        return user


    @style.queue
    def removeUser(db, user):
        db.c.execute('DELETE FROM users WHERE name=?', (user,))

DatabaseBackend.registerSub(UserMethods)
Exemple #4
0
# -*- 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)
Exemple #5
0
    @style. async
    def setRole(db, user, role):
        db.c.execute("UPDATE users SET role=? WHERE name=?", (role, user))

    @style.queue
    def listUsers(db):
        db.c.execute('SELECT name FROM users')
        return [row[0] for row in db.c]

    @style.queue
    def getAllUserData(db):
        db.c.execute(
            "SELECT name, permission, role, template, email FROM users")
        return {
            r[0]: {
                "permission": r[1],
                "role": r[2],
                "template": r[3],
                "email": r[4]
            }
            for r in db.c
        }

    @style.queue
    def removeUser(db, user):
        db.c.execute('DELETE FROM users WHERE name=?', (user, ))


DatabaseBackend.registerSub(UserMethods)
Exemple #6
0
# -*- 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)
from pyload.database import DatabaseBackend, queue

class StorageMethods():
    @queue
    def setStorage(db, identifier, key, value):
        db.c.execute("SELECT id FROM storage WHERE identifier=? AND key=?", (identifier, key))
        if db.c.fetchone() is not None:
            db.c.execute("UPDATE storage SET value=? WHERE identifier=? AND key=?", (value, identifier, key))
        else:
            db.c.execute("INSERT INTO storage (identifier, key, value) VALUES (?, ?, ?)", (identifier, key, value))
    
    @queue
    def getStorage(db, identifier, key=None):
        if key is not None:
            db.c.execute("SELECT value FROM storage WHERE identifier=? AND key=?", (identifier, key))
            row = db.c.fetchone()
            if row is not None:
                return row[0]
        else:
            db.c.execute("SELECT key, value FROM storage WHERE identifier=?", (identifier, ))
            d = {}
            for row in db.c:
                d[row[0]] = row[1]
            return d
    
    @queue
    def delStorage(db, identifier, key):
        db.c.execute("DELETE FROM storage WHERE identifier=? AND key=?", (identifier, key))

DatabaseBackend.registerSub(StorageMethods)