summaryrefslogtreecommitdiffstats
path: root/Lib/importall.py
blob: 1383e807906315ed0a1eea1f43bdb2ce1115a4b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# THIS IS OBSOLETE -- USE MODULE 'compileall' INSTEAD!

# Utility module to import all modules in the path, in the hope
# that this will update their ".pyc" files.

import os
import sys

# Sabotage 'gl' and 'stdwin' to prevent windows popping up...
for m in 'gl', 'stdwin', 'fl', 'fm':
	sys.modules[m] = sys

exceptions = ['importall']

for dir in sys.path:
	print 'Listing', dir
	try:
		names = os.listdir(dir)
	except os.error:
		print 'Can\'t list', dir
		names = []
	names.sort()
	for name in names:
		head, tail = name[:-3], name[-3:]
		if tail == '.py' and head not in exceptions:
			s = 'import ' + head
			print s
			try:
				exec(s + '\n')
			except KeyboardInterrupt:
				del names[:]
				print '\n[interrupt]'
				break
			except:
				print 'Sorry:', sys.exc_type + ':',
				print sys.exc_value