twtxt/cli.py
def quickstart():
    """Quickstart wizard for setting up twtxt."""
    width = click.get_terminal_size()[0]
    width = width if width <= 79 else 79

    click.secho("twtxt - quickstart", fg="cyan")
    click.secho("==================", fg="cyan")
    click.echo()

    help_text = "This wizard will generate a basic configuration file for twtxt with all mandatory options set. " \
                "You can change all of these later with either twtxt itself or by editing the config file manually. " \
                "Have a look at the docs to get information about the other available options and their meaning."
    click.echo(textwrap.fill(help_text, width))

    click.echo()
    nick = click.prompt("➤ Please enter your desired nick", default=os.environ.get("USER", ""))

    def overwrite_check(path):
        if os.path.isfile(path):
            click.confirm("➤ '{0}' already exists. Overwrite?".format(path), abort=True)

    cfgfile = click.prompt("➤ Please enter the desired location for your config file",
                           os.path.join(Config.config_dir, Config.config_name),
                           type=click.Path(readable=True, writable=True, file_okay=True))
    cfgfile = os.path.expanduser(cfgfile)
    overwrite_check(cfgfile)

    twtfile = click.prompt("➤ Please enter the desired location for your twtxt file",
                           os.path.expanduser("~/twtxt.txt"),
                           type=click.Path(readable=True, writable=True, file_okay=True))
    twtfile = os.path.expanduser(twtfile)
    overwrite_check(twtfile)

    twturl = click.prompt("➤ Please enter the URL your twtxt file will be accessible from",
                          default="https://example.org/twtxt.txt")

    disclose_identity = click.confirm("➤ Do you want to disclose your identity? Your nick and URL will be shared when "
                                      "making HTTP requests", default=False)

    click.echo()
    add_news = click.confirm("➤ Do you want to follow the twtxt news feed?", default=True)

    conf = Config.create_config(cfgfile, nick, twtfile, twturl, disclose_identity, add_news)

    twtfile_dir = os.path.dirname(twtfile)
    if not os.path.exists(twtfile_dir):
        os.makedirs(twtfile_dir)
    open(twtfile, "a").close()

    click.echo()
    click.echo("✓ Created config file at '{0}'.".format(click.format_filename(conf.config_file)))
    click.echo("✓ Created twtxt file at '{0}'.".format(click.format_filename(twtfile)))
def quickstart():
    """Quickstart wizard for setting up twtxt."""
    width = click.get_terminal_size()[0]
    width = width if width <= 79 else 79

    click.secho("twtxt - quickstart", fg="cyan")
    click.secho("==================", fg="cyan")
    click.echo()

    help_text = "This wizard will generate a basic configuration file for twtxt with all mandatory options set. " \
                "You can change all of these later with either twtxt itself or by editing the config file manually. " \
                "Have a look at the docs to get information about the other available options and their meaning."
    click.echo(textwrap.fill(help_text, width))

    click.echo()
    nick = click.prompt("➤ Please enter your desired nick", default=os.environ.get("USER", ""))

    def overwrite_check(path):
        if os.path.isfile(path):
            click.confirm("➤ '{0}' already exists. Overwrite?".format(path), abort=True)

    cfgfile = click.prompt("➤ Please enter the desired location for your config file",
                           os.path.join(Config.config_dir, Config.config_name),
                           type=click.Path(readable=True, writable=True, file_okay=True))
    cfgfile = os.path.expanduser(cfgfile)
    overwrite_check(cfgfile)

    twtfile = click.prompt("➤ Please enter the desired location for your twtxt file",
                           os.path.expanduser("~/twtxt.txt"),
                           type=click.Path(readable=True, writable=True, file_okay=True))
    twtfile = os.path.expanduser(twtfile)
    overwrite_check(twtfile)

    twturl = click.prompt("➤ Please enter the URL your twtxt file will be accessible from",
                          default="https://example.org/twtxt.txt")

    disclose_identity = click.confirm("➤ Do you want to disclose your identity? Your nick and URL will be shared when "
                                      "making HTTP requests", default=False)

    click.echo()
    add_news = click.confirm("➤ Do you want to follow the twtxt news feed?", default=True)

    conf = Config.create_config(cfgfile, nick, twtfile, twturl, disclose_identity, add_news)

    twtfile_dir = os.path.dirname(twtfile)
    if not os.path.exists(twtfile_dir):
        os.makedirs(twtfile_dir)
    open(twtfile, "a").close()

    click.echo()
    click.echo("✓ Created config file at '{0}'.".format(click.format_filename(conf.config_file)))
    click.echo("✓ Created twtxt file at '{0}'.".format(click.format_filename(twtfile)))
def quickstart ( ) : width = click . get_terminal_size ( ) [ 0 ] width = width if width <= 79 else 79 click . secho ( "twtxt - quickstart" , fg = "cyan" ) click . secho ( "==================" , fg = "cyan" ) click . echo ( ) help_text = "This wizard will generate a basic configuration file for twtxt with all mandatory options set. " "You can change all of these later with either twtxt itself or by editing the config file manually. " "Have a look at the docs to get information about the other available options and their meaning." click . echo ( textwrap . fill ( help_text , width ) ) click . echo ( ) nick = click . prompt ( "➤ Please enter your desired nick",  d fault=o s .e n viron.g e t(" U SER",  " )) def overwrite_check ( path ) : if os . path . isfile ( path ) : click . confirm ( "➤ '{0}' already exists. Overwrite?".f o rmat(p a th), a ort=T r ue) cfgfile = click . prompt ( "➤ Please enter the desired location for your config file", os . path . join ( Config . config_dir , Config . config_name ) , type = click . Path ( readable = True , writable = True , file_okay = True ) ) cfgfile = os . path . expanduser ( cfgfile ) overwrite_check ( cfgfile ) twtfile = click . prompt ( "➤ Please enter the desired location for your twtxt file", os . path . expanduser ( "~/twtxt.txt" ) , type = click . Path ( readable = True , writable = True , file_okay = True ) ) twtfile = os . path . expanduser ( twtfile ) overwrite_check ( twtfile ) twturl = click . prompt ( "➤ Please enter the URL your twtxt file will be accessible from", default = "https://example.org/twtxt.txt" ) disclose_identity = click . confirm ( "➤ Do you want to disclose your identity? Your nick and URL will be shared when " "making HTTP requests" , default = False ) click . echo ( ) add_news = click . confirm ( "➤ Do you want to follow the twtxt news feed?",  d fault=T r ue) conf = Config . create_config ( cfgfile , nick , twtfile , twturl , disclose_identity , add_news ) twtfile_dir = os . path . dirname ( twtfile ) if not os . path . exists ( twtfile_dir ) : os . makedirs ( twtfile_dir ) open ( twtfile , "a" ) . close ( ) click . echo ( ) click . echo ( "✓ Created config file at '{0}'.".f o rmat(c l ick.f o rmat_filename(c o nf.c o nfig_file)) ) click . echo ( "✓ Created twtxt file at '{0}'.".f o rmat(c l ick.f o rmat_filename(t w tfile)) )
Quickstart wizard for setting up twtxt.
Quickstart wizard for setting up twtxt .