Source code for lastpasslib.utils

from .datamodels import SharedFolder


[docs]class LastpassMock: def __init__(self, username, domain='lastpass.com'): self.domain = domain self.host = f'https://{domain}' self.username = username self.iteration_count = 100100
[docs] def get_shared_folder_by_id(self, id_): params = ['x' for _ in range(16)] params.insert(0, id_) return SharedFolder(*params)
# Decryption code can be tested in isolation by applying it to downloaded vault blob. # A vault blob can be saved from a proper authenticated session like: # # from lastpass.lastpass import Lastpass # lastpass = Lastpass(USERNAME, PASSWORD, MFA) # with open('vault.blob', 'w') as ofile: # ofile.write(lastpass.vault._blob.decode('utf-8')) # and can be loaded to test the decryption code in isolation like: # # from lastpasslib.utils import LastpassMock # from lastpasslib.vault import Vault # # lastpass = LastpassMock(CORRECT_USERNAME) # vault = Vault(lastpass, CORRECT_PASSWORD) # with open('vault.blob') as ifile: # data = ifile.read().encode('utf-8') # # secrets = vault._decrypt_blob(data)