Exemple #1
0
    def register(self, account, callback):
        if not Account.hasSupport(account.network):
            return False

        if not self.exists(account):
            return False

        pm = PersistenceManager()

        if not pm.existsConfig():
            return False

        config = pm.readConfig()

        controller = None

        if account.network == 'twitter':
            controller = TwitterController(account, callback)
        elif account.network == 'pump.io':
            controller = PumpController(account, callback)

        if not controller:
            return False

        return self.modify(account)
Exemple #2
0
    def getAllByNetwork(self, network):
        if not Account.hasSupport(network):
            return None

        pm = PersistenceManager()

        if not pm.existsConfig():
            return None

        config = pm.readConfig()

        accounts = []
        accountType = Account.networkToAccount(network)

        for entry in config['accounts'][network]:
            account = Account.getAccount(network, entry['name'])

            if accountType == 'OAuth':
                account.setCredentials((entry['key'], entry['secret']))
            elif accountType == 'UserPass':
                account.setCredentials((entry['user'], entry['password']))

            accounts.append(account)

        return accounts
Exemple #3
0
    def modify(self, account, newname = None):
        if not Account.hasSupport(account.network):
            return False

        if not self.exists(account):
            return False

        pm = PersistenceManager()

        if not pm.existsConfig():
            return False

        config = pm.readConfig()

        accountType = Account.networkToAccount(account.network)

        for entry in config['accounts'][account.network]:
            if entry['name'] == account.name:
                if newname:
                    entry['name'] = newname
                if accountType == 'OAuth':
                    entry['key'], entry['secret'] = account.credentials()
                elif accountType == 'UserPass':
                    entry['user'], entry['password'] = account.credentials()

                break

        pm.writeConfig(config)

        return True
Exemple #4
0
    def register(self, account, callback):
        if not Account.hasSupport(account.network):
            return False

        if not self.exists(account):
            return False

        pm = PersistenceManager()

        if not pm.existsConfig():
            return False

        config = pm.readConfig()

        controller = None

        if account.network == 'twitter':
            controller = TwitterController(account, callback)
        elif account.network == 'pump.io':
            controller = PumpController(account, callback)

        if not controller:
            return False

        return self.modify(account)
Exemple #5
0
    def getAllByNetwork(self, network):
        if not Account.hasSupport(network):
            return None

        pm = PersistenceManager()

        if not pm.existsConfig():
            return None

        config = pm.readConfig()

        accounts = []
        accountType = Account.networkToAccount(network)

        for entry in config['accounts'][network]:
            account = Account.getAccount(network, entry['name'])

            if accountType == 'OAuth':
                account.setCredentials((entry['key'], entry['secret']))
            elif accountType == 'UserPass':
                account.setCredentials((entry['user'], entry['password']))

            accounts.append(account)

        return accounts
Exemple #6
0
    def remove(self, account):
        if not Account.hasSupport(account.network):
            return False

        if not self.exists(account):
            return False

        pm = PersistenceManager()

        if not pm.existsConfig():
            return False

        config = pm.readConfig()

        entry = None

        for k in range(len(config['accounts'][account.network])):
            entry = config['accounts'][account.network][k]

            if entry['name'] == account.name:
                break

        config['accounts'][account.network].remove(entry)

        pm.writeConfig(config)

        return True
Exemple #7
0
    def modify(self, account, newname=None):
        if not Account.hasSupport(account.network):
            return False

        if not self.exists(account):
            return False

        pm = PersistenceManager()

        if not pm.existsConfig():
            return False

        config = pm.readConfig()

        accountType = Account.networkToAccount(account.network)

        for entry in config['accounts'][account.network]:
            if entry['name'] == account.name:
                if newname:
                    entry['name'] = newname
                if accountType == 'OAuth':
                    entry['key'], entry['secret'] = account.credentials()
                elif accountType == 'UserPass':
                    entry['user'], entry['password'] = account.credentials()

                break

        pm.writeConfig(config)

        return True
Exemple #8
0
    def create(self, account):
        if not Account.hasSupport(account.network):
            return False

        if self.exists(account):
            return False

        pm = PersistenceManager()

        if not pm.existsConfig():
            return False

        config = pm.readConfig()

        accountType = Account.networkToAccount(account.network)

        if accountType == 'OAuth':
            config['accounts'][account.network].append(
                dict(name=account.name, key=account.key,
                     secret=account.secret))
        elif accountType == 'UserPass':
            config['accounts'][account.network].append(
                dict(name=account.name,
                     user=account.user,
                     password=account.password))

        pm.writeConfig(config)

        return True
Exemple #9
0
    def remove(self, account):
        if not Account.hasSupport(account.network):
            return False

        if not self.exists(account):
            return False

        pm = PersistenceManager()

        if not pm.existsConfig():
            return False

        config = pm.readConfig()

        entry = None

        for k in range(len(config['accounts'][account.network])):
            entry = config['accounts'][account.network][k]

            if entry['name'] == account.name:
                break

        config['accounts'][account.network].remove(entry)

        pm.writeConfig(config)

        return True
Exemple #10
0
    def create(self, account):
        if not Account.hasSupport(account.network):
            return False

        if self.exists(account):
            return False

        pm = PersistenceManager()

        if not pm.existsConfig():
            return False

        config = pm.readConfig()

        accountType = Account.networkToAccount(account.network)

        if accountType == 'OAuth':
            config['accounts'][account.network].append(dict(name = account.name,key = account.key, secret = account.secret))
        elif accountType == 'UserPass':
            config['accounts'][account.network].append(dict(name = account.name,user = account.user, password = account.password))

        pm.writeConfig(config)

        return True
Exemple #11
0
def initApp():
    pm = PersistenceManager()
    if not pm.existsConfig():
        pm.createConfig()