Esempio n. 1
0
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)
Esempio n. 2
0
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()
Esempio n. 3
0
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))
Esempio n. 4
0
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)))
Esempio n. 5
0
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)))