1*6dbdd20aSAndroid Build Coastguard Worker#!/usr/bin/env python3 2*6dbdd20aSAndroid Build Coastguard Worker 3*6dbdd20aSAndroid Build Coastguard Workerimport sys 4*6dbdd20aSAndroid Build Coastguard Workerimport os 5*6dbdd20aSAndroid Build Coastguard Worker 6*6dbdd20aSAndroid Build Coastguard Worker 7*6dbdd20aSAndroid Build Coastguard Workerdef main(): 8*6dbdd20aSAndroid Build Coastguard Worker # Typically the target file argument is the last arg. gsutil invokes: 9*6dbdd20aSAndroid Build Coastguard Worker # `file -b --mime /path/to/file`. Rathter than depending on it, just pick 10*6dbdd20aSAndroid Build Coastguard Worker # the right-most argument which points to a valid file. 11*6dbdd20aSAndroid Build Coastguard Worker fname = None 12*6dbdd20aSAndroid Build Coastguard Worker for arg in reversed(sys.argv[1:]): 13*6dbdd20aSAndroid Build Coastguard Worker if os.path.exists(arg): 14*6dbdd20aSAndroid Build Coastguard Worker fname = arg 15*6dbdd20aSAndroid Build Coastguard Worker break 16*6dbdd20aSAndroid Build Coastguard Worker if fname is None: 17*6dbdd20aSAndroid Build Coastguard Worker raise 'File not found in ' + ' '.join(sys.argv) 18*6dbdd20aSAndroid Build Coastguard Worker 19*6dbdd20aSAndroid Build Coastguard Worker ext = os.path.splitext(fname)[1].lower() 20*6dbdd20aSAndroid Build Coastguard Worker ext_map = { 21*6dbdd20aSAndroid Build Coastguard Worker '.html': 'text/html', 22*6dbdd20aSAndroid Build Coastguard Worker '.css': 'text/css', 23*6dbdd20aSAndroid Build Coastguard Worker '.js': 'text/javascript', 24*6dbdd20aSAndroid Build Coastguard Worker '.jpg': 'image/jpeg', 25*6dbdd20aSAndroid Build Coastguard Worker '.png': 'image/png', 26*6dbdd20aSAndroid Build Coastguard Worker '.svg': 'image/svg+xml', 27*6dbdd20aSAndroid Build Coastguard Worker } 28*6dbdd20aSAndroid Build Coastguard Worker print(ext_map.get(ext, 'text/html')) 29*6dbdd20aSAndroid Build Coastguard Worker return 0 30*6dbdd20aSAndroid Build Coastguard Worker 31*6dbdd20aSAndroid Build Coastguard Worker 32*6dbdd20aSAndroid Build Coastguard Workerif __name__ == '__main__': 33*6dbdd20aSAndroid Build Coastguard Worker sys.exit(main()) 34