~tribaal/txaws/xss-hardening

« back to all changes in this revision

Viewing changes to txaws/script.py

  • Committer: Duncan McGreggor
  • Date: 2009-11-22 02:20:42 UTC
  • mto: (44.3.2 484858-s3-scripts)
  • mto: This revision was merged to the branch mainline in revision 52.
  • Revision ID: duncan@canonical.com-20091122022042-4zi231hxni1z53xd
* Updated the LICENSE file with copyright information.
* Updated the README with license information.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
from optparse import OptionParser
2
 
 
3
 
from txaws import meta
4
 
from txaws import version
5
 
 
6
 
 
7
 
# XXX Once we start adding script that require conflicting options, we'll need
8
 
# multiple parsers and option dispatching...
9
 
def parse_options(usage):
10
 
    parser = OptionParser(usage, version="%s %s" % (
11
 
        meta.display_name, version.txaws))
12
 
    parser.add_option(
13
 
        "-a", "--access-key", dest="access_key", help="access key ID")
14
 
    parser.add_option(
15
 
        "-s", "--secret-key", dest="secret_key", help="access secret key")
16
 
    parser.add_option(
17
 
        "-r", "--region", dest="region", help="US or EU (valid for AWS only)")
18
 
    parser.add_option(
19
 
        "-U", "--url", dest="url", help="service URL/endpoint")
20
 
    parser.add_option(
21
 
        "-b", "--bucket", dest="bucket", help="name of the bucket")
22
 
    parser.add_option(
23
 
        "-o", "--object-name", dest="object_name", help="name of the object")
24
 
    parser.add_option(
25
 
        "-d", "--object-data", dest="object_data",
26
 
        help="content data of the object")
27
 
    parser.add_option(
28
 
        "--object-file", dest="object_filename",
29
 
        help=("the path to the file that will be saved as an object; if "
30
 
               "provided, the --object-name and --object-data options are "
31
 
               "not necessary"))
32
 
    parser.add_option(
33
 
        "-c", "--content-type", dest="content_type",
34
 
        help="content type of the object")
35
 
    options, args = parser.parse_args()
36
 
    if not (options.access_key and options.secret_key):
37
 
        parser.error(
38
 
            "both the access key ID and the secret key must be supplied")
39
 
    region = options.region
40
 
    if region and region.upper() not in ["US", "EU"]:
41
 
        parser.error("region must be one of 'US' or 'EU'")
42
 
    return (options, args)