예제 #1
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
예제 #2
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
예제 #3
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
예제 #4
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
예제 #5
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
예제 #6
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