help='file containing OAuth credentials', default=expanduser("~/.secrets/twitter")) parser.add_argument('-file', metavar='FILENAME', type=str, help='image to upload', required=True) parser.add_argument('-text', metavar='NAME_VALUE', type=str, help='text to send', default='My picture') args = parser.parse_args() try: oauth = TwitterOAuth.read_file(args.oauth) file = open(args.file, 'rb') data = file.read() file.close() api = TwitterAPI(oauth.consumer_key, oauth.consumer_secret, oauth.access_token_key, oauth.access_token_secret) r = api.request('statuses/update_with_media', {'status': args.text}, {'media[]': data}) print(r.status_code) except KeyboardInterrupt: print('Terminated by user')
'-fields', metavar='NAME', type=str, help='print a top-level field in the json response', nargs='+') parser.add_argument( '-indent', metavar='SPACES', type=int, help='number of spaces to indent json output', default=None) args = parser.parse_args() try: params = _to_dict(args.parameters) oauth = TwitterOAuth.read_file(args.oauth) api = TwitterAPI(oauth.consumer_key, oauth.consumer_secret, oauth.access_token_key, oauth.access_token_secret) response = api.request(args.endpoint, params) for item in response.get_iterator(): if not args.fields: print( json.dumps(item, ensure_ascii='False', indent=args.indent)) else: for name in args.fields: value = _search(name, item) if value: print('%s: %s' % (name, value))