from cliff.command import Command import boto3 import dcc.config class Put(Command): def get_parser(self, prog_name): parser = super().get_parser(prog_name) parser.add_argument('wad') parser.add_argument('map') return parser # TODO: accept configuration for bucket name def take_action(self, parsed_args): s3_client = boto3.client('s3') demo = dcc.config.DemoInPath(parsed_args.wad, parsed_args.map) s3_client.upload_file( demo, 'yrriban', 'doom/' + dcc.config.DemoName(parsed_args.wad, parsed_args.map), ExtraArgs={'ContentType': 'binary/octet-stream'})