def pull_file(self, relativePath, name=None, pull=None, update=True):
<EOL>relativePath = os.path.normpath(relativePath)<EOL>if relativePath == '<STR_LIT:.>':<EOL><INDENT>relativePath = '<STR_LIT>'<EOL>assert name != '<STR_LIT>', "<STR_LIT>"<EOL>assert name != '<STR_LIT>', "<STR_LIT>"<EOL>assert name != '<STR_LIT>', "<STR_LIT>"<EOL><DEDENT>if name is None:<EOL><INDENT>assert len(relativePath), "<STR_LIT>"<EOL>relativePath,name = os.path.split(relativePath)<EOL><DEDENT>fileInfo, errorMessage = self.get_file_info(relativePath, name)<EOL>assert fileInfo is not None, errorMessage<EOL>realPath = os.path.join(self.__path, relativePath)<EOL>assert os.path.exists(realPath), "<STR_LIT>"%(relativePath, self.__path)<EOL>fileAbsPath = os.path.join(realPath, name)<EOL>assert os.path.isfile(fileAbsPath), "<STR_LIT>"%(name,realPath)<EOL>if pull is None:<EOL><INDENT>pull = fileInfo["<STR_LIT>"]<EOL><DEDENT>try:<EOL><INDENT>namespace = {}<EOL>namespace.update( globals() )<EOL>exec( pull.replace("<STR_LIT>", str(os.path.join(realPath,name)) ), namespace )<EOL><DEDENT>except Exception as e:<EOL><INDENT>m = pull.replace("<STR_LIT>", str(os.path.join(realPath,name)) )<EOL>raise Exception( "<STR_LIT>"%(m,e) )<EOL><DEDENT>if update:<EOL><INDENT>fileInfo["<STR_LIT>"] = pull<EOL><DEDENT>return namespace['<STR_LIT>']<EOL>
Pull a file's data from the Repository.

:Parameters:
    #. relativePath (string): The relative to the repository path of the directory where the file should be pulled.
    #. name (string): The file name.
       If None is given, name will be split from relativePath.
    #. pull (None, string): The pulling method.
       If None, the pull method saved in the file info will be used.
       If a string is given, the string should include all the necessary imports,
       a '$FILE_PATH' that replaces the absolute file path when the dumping will be performed
       and finally a PULLED_DATA variable.
       e.g "import numpy as np; PULLED_DATA=np.loadtxt(fname='$FILE_PATH')"
    #. update (boolean): If pull is not None, Whether to update the pull method stored in the file info by the given pull method.

:Returns:
    #. data (object): The pulled data from the file.