PolicyStat/terrarium — pull request #15 by kylegibson (2012-11-21 13:30:22+00:00)
Title: Output when boto not installed is confusing

When you attempt to pass in s3-related options, but don't have boto installed, the error message is very confusing. I spent a decent amount of time debugging a terrarium command that was giving me a:

```
usage: terrarium [-h] [-V] [-v] [-q] [-t TARGET] [--no-download] [--no-upload]
[--no-backup] [--backup-suffix BACKUP_SUFFIX] [--no-compress]
[--storage-dir STORAGE_DIR] [--digest-type DIGEST_TYPE]
[--no-bootstrap] [--remote-key-format REMOTE_KEY_FORMAT]
{install,hash,exists,key} ...
terrarium: error: argument command: invalid choice: 'pstat-reqs' (choose from 'install', 'hash', 'exists', 'key')
```

Because I had a command like:
```
terrarium --target foo --s3-bucket "pstat-reqs" --s3-access-key BAZ --s3-secret-key SECRET install foo/reqs.txt
```

I'd say the strategy of only adding the s3 options if boto is installed causes more confusion than it solves. Instead, if you use boto options without it installed, you should get an error message saying that boto is required to do that.