]> mj.ucw.cz Git - eval.git/blob - t/moe/util.py
Minor fix in util.py
[eval.git] / t / moe / util.py
1 #!/usr/bin/env python
2
3 import os
4 import sys
5 import os.path
6 import shutil
7
8 def mkdir_tree(name):
9     try:
10         os.mkdir(name)  
11     except OSError, err:
12         if err.errno == os.errno.ENOENT:
13             head, tail = os.path.split(name)
14             mkdir_tree(head)
15             os.mkdir(name)
16         elif err.errno == os.errno.EEXIST:
17             pass
18         else:
19             raise err
20
21 def link_or_copy(src, dest):
22     try:
23         os.link(src, dest)
24     except OSError:
25         shutil.copyfile(src, dest)
26
27 def remove_tree_contents(dir):
28     for f in os.listdir(dir):
29         name = os.path.join(dir, f)
30         try:
31             os.unlink(name)
32         except OSError, err:
33             if err.errno == os.errno.EISDIR:
34                 shutil.rmtree(os.path.join(dir, f))
35             else:
36                 raise err
37
38 def load_module(modname):
39     """Return the module `modname` (full name) if loaded, or try to import it. 
40     Returns the module or raises `ImportError`."""
41     if not sys.modules.has_key(modname):
42         __import__(modname)
43     return sys.modules[modname]