rackerlabs / fastfood

DEPRECATED
Apache License 2.0
1 stars 7 forks source link

Document basic arguments, maybe help output? #63

Open martinb3 opened 9 years ago

martinb3 commented 9 years ago

Fastfood assumes all cookbooks live in ~/cookbooks. Would it be better to show the output of --help if that directory doesn't exist?

Right now, the error is the one below, and we haven't documented the shared/common arguments in README.md. If we could document the defaults or redirect to --help when default arguments refer to paths or files that don't exist (such as config_file, template_pack, cookbooks, cookbook_path), I think it would go a long way to improving the UX for new users.

$ fastfood build fastfood.json 
⁉️  Unexpected error. Please report this traceback.
Traceback (most recent call last):
  File "/home/mart6985/src/virtualenv/fastfood/local/lib/python2.7/site-packages/fastfood/shell.py", line 274, in main
    args.func(args)
  File "/home/mart6985/src/virtualenv/fastfood/local/lib/python2.7/site-packages/fastfood/shell.py", line 69, in _fastfood_build
    args.cookbooks, cookbook_path=args.cookbook)
  File "/home/mart6985/src/virtualenv/fastfood/local/lib/python2.7/site-packages/fastfood/food.py", line 58, in build_cookbook
    cookbook_name, templatepack, cookbooks_home, force=force)
  File "/home/mart6985/src/virtualenv/fastfood/local/lib/python2.7/site-packages/fastfood/food.py", line 174, in create_new_cookbook
    % os.path.relpath(cookbooks_home))
ValueError: Target cookbook dir ../../../../../cookbooks does not exist.