equal
deleted
inserted
replaced
100 return None |
100 return None |
101 |
101 |
102 |
102 |
103 def cleanup_sys_modules(config): |
103 def cleanup_sys_modules(config): |
104 # cleanup sys.modules, required when we're updating multiple cubes |
104 # cleanup sys.modules, required when we're updating multiple cubes |
|
105 appobjects_path = config.appobjects_path() |
105 for name, mod in list(sys.modules.items()): |
106 for name, mod in list(sys.modules.items()): |
106 if mod is None: |
107 if mod is None: |
107 # duh ? logilab.common.os for instance |
108 # duh ? logilab.common.os for instance |
108 del sys.modules[name] |
109 del sys.modules[name] |
109 continue |
110 continue |
110 if not hasattr(mod, '__file__'): |
111 if not hasattr(mod, '__file__'): |
111 continue |
112 continue |
112 if mod.__file__ is None: |
113 if mod.__file__ is None: |
113 # odd/rare but real |
114 # odd/rare but real |
114 continue |
115 continue |
115 for path in config.appobjects_path(): |
116 for path in appobjects_path: |
116 if mod.__file__.startswith(path): |
117 if mod.__file__.startswith(path): |
117 del sys.modules[name] |
118 del sys.modules[name] |
118 break |
119 break |
119 |
120 |
120 def generate_schema_pot(w, cubedir=None): |
121 def generate_schema_pot(w, cubedir=None): |