def purge_temp_accounts(self, gid): # remove all accounts links_t = self.rc.smembers(S1.links_temp_key(gid)) links = links_t.difference(self.rc.smembers(S1.links_key(gid))) for link in links: # second check for usage in another account if self.rc.hexists(S1.destination_key_fmt('parents:dst'), link): continue self.rc.hdel(link, S1.ACCOUNT_KEY) self.rc.delete(S1.links_temp_key(gid))
def add_temp_account(self, gid, provider, user, data): self.rc.sadd(S1.links_temp_key(gid), S1.provider_root_key(provider, user)) self.rc.hset(S1.provider_root_key(provider, user), S1.ACCOUNT_KEY, data)
def get_linked_accounts(self, gid, temp=False): links = self.rc.smembers( S1.links_key(gid) if not temp else S1.links_temp_key(gid)) result = {link: self.rc.hget(link, S1.ACCOUNT_KEY) for link in links} return result