sheetcloud.user
1import webbrowser 2import logging 3logger = logging.getLogger('SHEETCLOUD USER') 4logging.basicConfig(format='\x1b[38;5;224m %(levelname)8s \x1b[0m | \x1b[38;5;39m %(name)s \x1b[0m | %(message)s', level=logging.DEBUG) 5 6 7from typing import * 8 9from sheetcloud.conn import service, ENV_SHEETCLOUD_USERNAME, ENV_SHEETCLOUD_LICENSE 10 11 12 13def request_recovery_token(email: str=None) -> None: 14 if email is None: 15 email = ENV_SHEETCLOUD_USERNAME 16 logger.info(f'Requesting password recovery token for account {email}.') 17 _ = service('/users/password/recovery', params={'email': email}, method='post') 18 logging.info('Please check your sheetcloud dashboard spreadsheet. You\'ll find the recovery token on the \'Settings\ worksheet.') 19 20 21def password_reset(recovery_token: str, new_password: str) -> None: 22 _ = service('/users/password/reset', params={'recovery_token': recovery_token, 'new_password': new_password}, method='post') 23 logging.info('Password reset attempted. Please change your environment variables accordingly. Please note that due to security reasons the response does not contain information about the success of the attempt.') 24 25 26def change_password(new_password: str) -> None: 27 response = service('/users/password/change', params={'new_password': new_password}, method='post') 28 if 'password_updated' in response: 29 logging.info(f'Password updated {response["password_updated"]}.') 30 31 32def activate_license_key(key: str) -> None: 33 response = service('/users/license/update', params={'key': key}, method='post') 34 if 'is_valid' in response: 35 logging.info(f'License is valid: {response["is_valid"]}.') 36 37 38def open_sheetcloud_website() -> None: 39 webbrowser.open(f'https://sheetcloud.org') 40 41 42if ENV_SHEETCLOUD_LICENSE is not None: 43 logger.info(f'License found. Attempting to verify. Note: This only has to be done once.') 44 activate_license_key(ENV_SHEETCLOUD_LICENSE) 45 46 47if __name__ == "__main__": 48 print('Test user connection...') 49 # open_sheetcloud_website() 50 # password_reset('jkdhsfjklasjhjkdfh', 'abb') 51 activate_license_key('dskljklasfjd') 52 53 print('Done')
logger =
<Logger SHEETCLOUD USER (DEBUG)>
def
request_recovery_token(email: str = None) -> None:
14def request_recovery_token(email: str=None) -> None: 15 if email is None: 16 email = ENV_SHEETCLOUD_USERNAME 17 logger.info(f'Requesting password recovery token for account {email}.') 18 _ = service('/users/password/recovery', params={'email': email}, method='post') 19 logging.info('Please check your sheetcloud dashboard spreadsheet. You\'ll find the recovery token on the \'Settings\ worksheet.')
def
password_reset(recovery_token: str, new_password: str) -> None:
22def password_reset(recovery_token: str, new_password: str) -> None: 23 _ = service('/users/password/reset', params={'recovery_token': recovery_token, 'new_password': new_password}, method='post') 24 logging.info('Password reset attempted. Please change your environment variables accordingly. Please note that due to security reasons the response does not contain information about the success of the attempt.')
def
change_password(new_password: str) -> None:
def
activate_license_key(key: str) -> None:
def
open_sheetcloud_website() -> None: