X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=t%2Fmoe%2Futil.py;h=c7bbb5f4eea1dfdf8b68dde99cae8c0a01c02eaa;hb=c861bd9c09d20e06533e122253bcd3bb94b0bef9;hp=801d2c700925cff969b0aba8ae80f84bee6f6d3b;hpb=aa3a5774beaa7ad6a752169c66e97ddb4bdc8983;p=eval.git diff --git a/t/moe/util.py b/t/moe/util.py index 801d2c7..c7bbb5f 100644 --- a/t/moe/util.py +++ b/t/moe/util.py @@ -2,16 +2,34 @@ import os 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