X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=t%2Fmoe%2Futil.py;h=d287ff864c1230709b3172d658af4e1f3f157297;hb=258204ca478a8e8c180931575e1cd0748f677e8c;hp=69007a193429f62bf2eadfb68527aa120a06a463;hpb=9587bd376c403e16a0f79c9046eecc9b8f543cb8;p=moe.git diff --git a/t/moe/util.py b/t/moe/util.py index 69007a1..d287ff8 100644 --- a/t/moe/util.py +++ b/t/moe/util.py @@ -1,24 +1,43 @@ #!/usr/bin/env python import os +import sys import os.path import shutil def mkdir_tree(name): try: os.mkdir(name) - except OSError, e: - if e.errno == os.errno.ENOENT: + except OSError, err: + if err.errno == os.errno.ENOENT: head, tail = os.path.split(name) mkdir_tree(head) os.mkdir(name) - elif e.errno == os.errno.EEXIST: + elif err.errno == os.errno.EEXIST: pass else: - raise e + raise err def link_or_copy(src, dest): try: os.link(src, dest) except OSError: shutil.copyfile(src, dest) + +def remove_tree_contents(dir): + for f in os.listdir(dir): + name = os.path.join(dir, f) + try: + os.unlink(name) + except OSError, err: + if err.errno == os.errno.EISDIR: + shutil.rmtree(os.path.join(dir, f)) + else: + raise err + +def load_module(modname): + """Return the module `modname` (full name) if loaded, or try to import it. + Returns the module or raises `ImportError`.""" + if not sys.modules.has_key(modname): + __import__(modname) + return sys.modules[modname]