1"""Hook to allow user-specified customization code to run.
2
3As a policy, Python doesn't run user-specified code on startup of
4Python programs (interactive sessions execute the script specified in
5the PYTHONSTARTUP environment variable if it exists).
6
7However, some programs or sites may find it convenient to allow users
8to have a standard customization file, which gets run when a program
9requests it.  This module implements such a mechanism.  A program
10that wishes to use the mechanism must execute the statement
11
12    import user
13
14The user module looks for a file .pythonrc.py in the user's home
15directory and if it can be opened, execfile()s it in its own global
16namespace.  Errors during this phase are not caught; that's up to the
17program that imports the user module, if it wishes.
18
19The user's .pythonrc.py could conceivably test for sys.version if it
20wishes to do different things depending on the Python version.
21
22"""
23from warnings import warnpy3k
24warnpy3k("the user module has been removed in Python 3.0", stacklevel=2)
25del warnpy3k
26
27import os
28
29home = os.curdir                        # Default
30if 'HOME' in os.environ:
31    home = os.environ['HOME']
32elif os.name == 'posix':
33    home = os.path.expanduser("~/")
34elif os.name == 'nt':                   # Contributed by Jeff Bauer
35    if 'HOMEPATH' in os.environ:
36        if 'HOMEDRIVE' in os.environ:
37            home = os.environ['HOMEDRIVE'] + os.environ['HOMEPATH']
38        else:
39            home = os.environ['HOMEPATH']
40
41pythonrc = os.path.join(home, ".pythonrc.py")
42try:
43    f = open(pythonrc)
44except IOError:
45    pass
46else:
47    f.close()
48    execfile(pythonrc)
49