from typing import Optional import bump import typer import sys import select def default( message_arg:Optional[str] = typer.Argument(None, help="The message to be bumped"), message:Optional[str] = typer.Option(None, help="The message to be bumped"), reset:Optional[bool] = typer.Option(False, help="remove all senders"), alert:Optional[bool] = typer.Option(False, help="check continuously for new messages"), secret:Optional[str] = typer.Option(None, help="change the sender and e2e keys")): bp = bump.Bump() pipe = None if select.select([sys.stdin,],[],[],0.0)[0]: pipe = sys.stdin.readline() if message_arg is not None: push(message_arg) elif pipe is not None: push(pipe) elif message is not None: push(message) elif secret is not None: secrets(secret) elif reset: delete_senders() elif alert: alert_process() else: info() def delete_senders(): bp = bump.Bump() bp.delete_senders() def alert_process(): bp = bump.Bump() bp.alert() def secrets(secret:str): if secret is not None: bp = bump.Bump(secret) info() def push(message:str): bp = bump.Bump() bp.push(message) def info(): bp = bump.Bump() bp.show_secret() def main(): typer.run(default) if __name__ == "__main__": main()