def project_quickstart(defaults=None):
    if not defaults:
        defaults = {}

    g = Generator('project')

    g.title('Lektor Quickstart')
    g.text(
        'This wizard will generate a new basic project with some sensible '
        'defaults for getting started quickly.  We just need to go through '
        'a few questions so that the project is set up correctly for you.'
    )

    name = defaults.get('name')
    if name is None:
        name = g.prompt('Project Name', None,
            'A project needs a name.  The name is primarily used for the admin '
            'UI and some other places to refer to your project to not get '
            'confused if multiple projects exist.  You can change this at '
            'any later point.')

    author_name = g.prompt('Author Name', get_default_author(),
        'Your name.  This is used in a few places in the default template '
        'to refer to in the default copyright messages.')

    path = defaults.get('path')
    if path is None:
        here = os.path.abspath(os.getcwd())
        default_project_path = None
        try:
            if len(os.listdir(here)) == []:
                default_project_path = here
        except __HOLE__:
            pass
        if default_project_path is None:
            default_project_path = os.path.join(os.getcwd(), name)
        path = g.prompt('Project Path', default_project_path,
            'This is the path where the project will be located.  You can '
            'move a project around later if you do not like the path.  If '
            'you provide a relative path it will be relative to the working '
            'directory.')
        path = os.path.expanduser(path)

    with_blog = g.prompt('Add Basic Blog', True,
        'Do you want to generate a basic blog module?  If you enable this '
        'the models for a very basic blog will be generated.')

    g.confirm('That\'s all. Create project?')

    g.run({
        'project_name': name,
        'project_slug': slugify(name),
        'project_path': path,
        'with_blog': with_blog,
        'this_year': datetime.utcnow().year,
        'today': datetime.utcnow().strftime('%Y-%m-%d'),
        'author_name': author_name,
    }, path)
dataset/ETHPy150Open lektor/lektor/lektor/quickstart.py/project_quickstart