mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """nsremote - Control Netscape from python.
 | |
| 
 | |
| Interface modelled after unix-interface done
 | |
| by hassan@cs.stanford.edu.
 | |
| 
 | |
| Jack Jansen, CWI, January 1996.
 | |
| """
 | |
| #
 | |
| # Note: this module currently uses the funny SpyGlass AppleEvents, since
 | |
| # these seem to be the only way to get the info from Netscape. It would
 | |
| # be nicer to use the more "object oriented" standard OSA stuff, when it
 | |
| # is implemented in Netscape.
 | |
| #
 | |
| import sys
 | |
| 
 | |
| import aetools
 | |
| import Netscape
 | |
| import MacOS
 | |
| 
 | |
| Error = 'nsremote.Error'
 | |
| 
 | |
| _talker = None
 | |
| 
 | |
| def _init():
 | |
| 	global _talker
 | |
| 	if _talker == None:
 | |
| 		_talker = Netscape.Netscape()
 | |
| 
 | |
| def list(dpyinfo=""):
 | |
| 	_init()
 | |
| 	list = _talker.list_windows()
 | |
| 	return map(lambda x: (x, 'version unknown'), list)
 | |
| 	
 | |
| def geturl(windowid=0, dpyinfo=""):
 | |
| 	_init()
 | |
| 	if windowid == 0:
 | |
| 		ids = _talker.list_windows()
 | |
| 		if not ids:
 | |
| 			raise Error, 'No netscape windows open'
 | |
| 		windowid = ids[0]
 | |
| 	info = _talker.get_window_info(windowid)
 | |
| 	return info
 | |
| 	
 | |
| def openurl(url, windowid=0, dpyinfo=""):
 | |
| 	_init()
 | |
| 	if windowid == 0:
 | |
| 		_talker.OpenURL(url)
 | |
| 	else:
 | |
| 		_talker.OpenURL(url, toWindow=windowid)
 | |
| 		
 | |
| def _test():
 | |
| 	"""Test program: Open www.python.org in all windows, then revert"""
 | |
| 	import sys
 | |
| 	windows_and_versions = list()
 | |
| 	windows_and_urls = map(lambda x: (x[0], geturl(x[0])[0]), windows_and_versions)
 | |
| 	for id, version in windows_and_versions:
 | |
| 		openurl('http://www.python.org/', windowid=id)
 | |
| 	print 'Type return to revert to old contents-'
 | |
| 	sys.stdin.readline()
 | |
| 	for id, url in windows_and_urls:
 | |
| 		openurl(url, id)
 | |
| 		
 | |
| if __name__ == '__main__':
 | |
| 	_test()
 | |
| 	
 | 
