def main(): # Enable debug log if --debug is in args if "--debug" in sys.argv: logging.basicConfig(level=logging.DEBUG) # If something is piped in, append it to commandline arguments if not sys.stdin.isatty(): stdin = sys.stdin.read() if stdin: sys.argv.append(stdin) command_name = sys.argv[1] if len(sys.argv) > 1 else None args = sys.argv[2:] if not command_name: return print_usage() user = config.load_user() app = config.load_app(user.instance) if user else None try: run_command(app, user, command_name, args) except ConsoleError as e: print_err(str(e)) sys.exit(1) except api.ApiError as e: print_err(str(e)) sys.exit(1)
def run_command(command, args): app = load_app() user = load_user() # Commands which can run when not logged in if command == 'login': return cmd_login(args) if command == 'auth': return cmd_auth(app, user, args) # Commands which require user to be logged in if not app or not user: print_error("You are not logged in.") print_error("Please run `toot login` first.") return if command == 'logout': return cmd_logout(app, user, args) if command == 'post': return cmd_post_status(app, user, args) if command == 'timeline': return cmd_timeline(app, user, args) if command == 'upload': return cmd_upload(app, user, args) if command == 'search': return cmd_search(app, user, args) if command == 'follow': return cmd_follow(app, user, args) if command == 'unfollow': return cmd_unfollow(app, user, args) print_error("Unknown command '{}'\n".format(command)) print_usage()
def main(): if os.getenv('TOOT_DEBUG'): logging.basicConfig(level=logging.DEBUG) # If something is piped in, append it to commandline arguments if not sys.stdin.isatty(): sys.argv.append(sys.stdin.read()) command_name = sys.argv[1] if len(sys.argv) > 1 else None args = sys.argv[2:] if not command_name: return print_usage() user = config.load_user() app = config.load_app(user.instance) if user else None try: run_command(app, user, command_name, args) except ConsoleError as e: print_error(str(e)) except api.ApiError as e: print_error(str(e))
def activate(app, user, args): user = config.load_user(args.account, throw=True) config.activate_user(user) print_out("<green>✓ User {} active</green>".format(config.user_id(user)))
def logout(app, user, args): user = config.load_user(args.account, throw=True) config.delete_user(user) print_out("<green>✓ User {} logged out</green>".format( config.user_id(user)))