1*8975f5c5SAndroid Build Coastguard Worker#!/usr/bin/env python3 2*8975f5c5SAndroid Build Coastguard Worker# Copyright 2019 The Chromium Authors 3*8975f5c5SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 4*8975f5c5SAndroid Build Coastguard Worker# found in the LICENSE file. 5*8975f5c5SAndroid Build Coastguard Worker"""Prints the target paths of the given symlinks. 6*8975f5c5SAndroid Build Coastguard Worker 7*8975f5c5SAndroid Build Coastguard WorkerPrints out each target in the order that the links were passed in. 8*8975f5c5SAndroid Build Coastguard Worker""" 9*8975f5c5SAndroid Build Coastguard Worker 10*8975f5c5SAndroid Build Coastguard Workerimport os 11*8975f5c5SAndroid Build Coastguard Workerimport sys 12*8975f5c5SAndroid Build Coastguard Worker 13*8975f5c5SAndroid Build Coastguard Worker 14*8975f5c5SAndroid Build Coastguard Workerdef main(): 15*8975f5c5SAndroid Build Coastguard Worker for link_name in sys.argv[1:]: 16*8975f5c5SAndroid Build Coastguard Worker if not os.path.islink(link_name): 17*8975f5c5SAndroid Build Coastguard Worker sys.stderr.write("%s is not a link" % link_name) 18*8975f5c5SAndroid Build Coastguard Worker return 1 19*8975f5c5SAndroid Build Coastguard Worker target = os.readlink(link_name) 20*8975f5c5SAndroid Build Coastguard Worker if not os.path.isabs(target): 21*8975f5c5SAndroid Build Coastguard Worker target = os.path.join(os.path.dirname(link_name), target) 22*8975f5c5SAndroid Build Coastguard Worker print(os.path.realpath(target)) 23*8975f5c5SAndroid Build Coastguard Worker return 0 24*8975f5c5SAndroid Build Coastguard Worker 25*8975f5c5SAndroid Build Coastguard Worker 26*8975f5c5SAndroid Build Coastguard Workerif __name__ == '__main__': 27*8975f5c5SAndroid Build Coastguard Worker sys.exit(main()) 28