| #! /usr/local/python | 
 |  | 
 | # findlinksto | 
 | # | 
 | # find symbolic links to a given path | 
 |  | 
 | import os, sys | 
 |  | 
 | def visit(pattern, dirname, names): | 
 | 	if os.path.islink(dirname): | 
 | 		names[:] = [] | 
 | 		return | 
 | 	if os.path.ismount(dirname): | 
 | 		print 'descend into', dirname | 
 | 	n = len(pattern) | 
 | 	for name in names: | 
 | 		name = os.path.join(dirname, name) | 
 | 		try: | 
 | 			linkto = os.readlink(name) | 
 | 			if linkto[:n] == pattern: | 
 | 				print name, '->', linkto | 
 | 		except os.error: | 
 | 			pass | 
 |  | 
 | def main(pattern, args): | 
 | 	for dirname in args: | 
 | 		os.path.walk(dirname, visit, pattern) | 
 |  | 
 | main(sys.argv[1], sys.argv[2:]) |