Mercurial > public > mercurial-scm > hg
comparison mercurial/packagescan.py @ 3673:eb0b4a2d70a9
white space and line break cleanups
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 17 Nov 2006 08:06:54 +0100 |
parents | 799811087044 |
children |
comparison
equal
deleted
inserted
replaced
3672:e8730b5b8a32 | 3673:eb0b4a2d70a9 |
---|---|
53 if not as_: | 53 if not as_: |
54 as_ = mn | 54 as_ = mn |
55 scope[as_] = mod | 55 scope[as_] = mod |
56 requiredmodules[mod.__name__] = 1 | 56 requiredmodules[mod.__name__] = 1 |
57 if len(comp) == i: break | 57 if len(comp) == i: break |
58 mod = getattr(mod,comp[i]) | 58 mod = getattr(mod, comp[i]) |
59 mn = string.join(comp[:i+1],'.') | 59 mn = string.join(comp[:i+1],'.') |
60 i += 1 | 60 i += 1 |
61 else: | 61 else: |
62 # mod is the last package in the component list | 62 # mod is the last package in the component list |
63 requiredmodules[mod.__name__] = 1 | 63 requiredmodules[mod.__name__] = 1 |
64 for f in fromlist: | 64 for f in fromlist: |
65 scope[f] = getattr(mod,f) | 65 scope[f] = getattr(mod, f) |
66 if type(scope[f]) == types.ModuleType: | 66 if type(scope[f]) == types.ModuleType: |
67 requiredmodules[scope[f].__name__] = 1 | 67 requiredmodules[scope[f].__name__] = 1 |
68 | 68 |
69 class SkipPackage(Exception): | 69 class SkipPackage(Exception): |
70 def __init__(self, reason): | 70 def __init__(self, reason): |
71 self.reason = reason | 71 self.reason = reason |
72 | 72 |
73 scan_in_progress = False | 73 scan_in_progress = False |
74 | 74 |
75 def scan(libpath,packagename): | 75 def scan(libpath, packagename): |
76 """ helper for finding all required modules of package <packagename> """ | 76 """ helper for finding all required modules of package <packagename> """ |
77 global scan_in_progress | 77 global scan_in_progress |
78 scan_in_progress = True | 78 scan_in_progress = True |
79 # Use the package in the build directory | 79 # Use the package in the build directory |
80 libpath = os.path.abspath(libpath) | 80 libpath = os.path.abspath(libpath) |
81 sys.path.insert(0,libpath) | 81 sys.path.insert(0, libpath) |
82 packdir = os.path.join(libpath,packagename.replace('.', '/')) | 82 packdir = os.path.join(libpath, packagename.replace('.', '/')) |
83 # A normal import would not find the package in | 83 # A normal import would not find the package in |
84 # the build directory. ihook is used to force the import. | 84 # the build directory. ihook is used to force the import. |
85 # After the package is imported the import scope for | 85 # After the package is imported the import scope for |
86 # the following imports is settled. | 86 # the following imports is settled. |
87 p = importfrom(packdir) | 87 p = importfrom(packdir) |
95 os.chdir(cwd) | 95 os.chdir(cwd) |
96 # Import all python modules and by that run the fake demandload | 96 # Import all python modules and by that run the fake demandload |
97 for m in pymodulefiles: | 97 for m in pymodulefiles: |
98 if m == '__init__.py': continue | 98 if m == '__init__.py': continue |
99 tmp = {} | 99 tmp = {} |
100 mname,ext = os.path.splitext(m) | 100 mname, ext = os.path.splitext(m) |
101 fullname = packagename+'.'+mname | 101 fullname = packagename+'.'+mname |
102 try: | 102 try: |
103 __import__(fullname,tmp,tmp) | 103 __import__(fullname, tmp, tmp) |
104 except SkipPackage, inst: | 104 except SkipPackage, inst: |
105 print >> sys.stderr, 'skipping %s: %s' % (fullname, inst.reason) | 105 print >> sys.stderr, 'skipping %s: %s' % (fullname, inst.reason) |
106 continue | 106 continue |
107 requiredmodules[fullname] = 1 | 107 requiredmodules[fullname] = 1 |
108 # Import all extension modules and by that run the fake demandload | 108 # Import all extension modules and by that run the fake demandload |
109 for m in extmodulefiles: | 109 for m in extmodulefiles: |
110 tmp = {} | 110 tmp = {} |
111 mname,ext = os.path.splitext(m) | 111 mname, ext = os.path.splitext(m) |
112 fullname = packagename+'.'+mname | 112 fullname = packagename+'.'+mname |
113 __import__(fullname,tmp,tmp) | 113 __import__(fullname, tmp, tmp) |
114 requiredmodules[fullname] = 1 | 114 requiredmodules[fullname] = 1 |
115 | 115 |
116 def getmodules(): | 116 def getmodules(): |
117 return requiredmodules.keys() | 117 return requiredmodules.keys() |
118 | 118 |