#!/usr/bin/env python

import click
import time


@click.group()
def cli():
    """Examples."""

@cli.command()
def editor():
    """Launch an editor."""
    message = click.edit("Prepopulated text")
    click.echo("Your message: {}".format(message))

@cli.command(name="find-app-dir")
def find_app_dir():
    """Find the appropriate application data folder."""
    click.echo(click.get_app_dir('part05'))

@cli.command()
def launch():
    """Launch applicaiton."""
    click.launch("https://click.palletsprojects.com/")


@cli.command()
@click.option("--lines", default=100)
def paging(lines):
    """Page through output."""
    data = '\n'.join(['Line %d' % num for num in range(lines)])
    click.echo_via_pager(data)


@cli.command(name="progress-bar")
@click.option('--delay', default=0.5)
@click.option('--count', default=10)
def progress_bar(count, delay):
    """Display a progress bar."""
    data = range(count)
    with click.progressbar(data) as bar:
        for number in bar:
            time.sleep(delay)


if __name__ == "__main__":
    cli()