Source code for fastr.utils.gettools

import os
import shutil
import subprocess
import tempfile

FASTR_TOOLS_REPO = 'ssh://hg@bitbucket.org/bigr_erasmusmc/fastr-tools'


[docs]def main(): try: # Clone the fastr-tools repository print('Creating temporary directory...') tmpdir = tempfile.mkdtemp() print('Created {}'.format(tmpdir)) print('Cloning the fastr-tools repository...') hg_proc = subprocess.Popen(['hg', 'clone', FASTR_TOOLS_REPO], cwd=tmpdir) hg_proc.wait() print('Mercurial clone done...') print('Dirs in tmpdir: {}'.format(os.listdir(tmpdir))) # Copy the ~/.fastr/tools and ~/.fastr/types print('Copy tools...') tooldir = os.path.expanduser('~/.fastr/tools') if os.path.exists(tooldir): print('Removing old tools...') shutil.rmtree(tooldir) shutil.copytree(os.path.join(tmpdir, 'fastr-tools', 'image_analysis', 'tools'), tooldir) print('Copy types...') typesdir = os.path.expanduser('~/.fastr/datatypes') if os.path.exists(typesdir): print('Removing old types...') shutil.rmtree(typesdir) shutil.copytree(os.path.join(tmpdir, 'fastr-tools', 'image_analysis', 'datatypes'), typesdir) except OSError: print('Could not find/call mercurial correctly! Please make sure mercurial is installed!') finally: print('Cleaning up temporary directory') if 'tmpdir' in locals(): shutil.rmtree(tmpdir)
if __name__ == '__main__': main()