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