def testCopy(self): gfile.MkDir(self.tmp + "dir1") gfile.MkDir(self.tmp + "dir2") with gfile.GFile(self.tmp + "dir1/file1", "w"): pass # Create file with gfile.GFile(self.tmp + "dir2/file2", "w"): pass # Create file # Dest file already exists, overwrite=False (default). self.assertRaises( OSError, lambda: gfile.Copy(self.tmp + "dir1/file1", self.tmp + "dir2/file2")) # Overwrite succeeds gfile.Copy(self.tmp + "dir1/file1", self.tmp + "dir2/file2", overwrite=True) self.assertTrue(gfile.Exists(self.tmp + "dir2/file2")) # Normal copy. gfile.Rename(self.tmp + "dir1/file1", self.tmp + "dir2/file1") self.assertTrue(gfile.Exists(self.tmp + "dir2/file1")) # Normal copy to non-existent dir self.assertRaises( OSError, lambda: gfile.Rename(self.tmp + "dir1/file1", self.tmp + "newdir/file1"))
def maybe_download(filename, work_directory, source_url): """Download the data from source url, unless it's already here.""" if not gfile.Exists(work_directory): gfile.MakeDirs(work_directory) filepath = os.path.join(work_directory, filename) if not gfile.Exists(filepath): with tempfile.NamedTemporaryFile() as tmpfile: temp_file_name = tmpfile.name urllib.request.urlretrieve(source_url, temp_file_name) gfile.Copy(temp_file_name, filepath) with gfile.GFile(filepath) as f: size = f.Size() print('Successfully downloaded', filename, size, 'bytes.') return filepath
def maybe_download(filename, work_directory, source_url): """Download the data from source url, unless it's already here. Args: filename: string, name of the file in the directory. work_directory: string, path to working directory. source_url: url to download from if file doesn't exist. Returns: Path to resulting file. """ if not gfile.Exists(work_directory): gfile.MakeDirs(work_directory) filepath = os.path.join(work_directory, filename) if not gfile.Exists(filepath): with tempfile.NamedTemporaryFile() as tmpfile: temp_file_name = tmpfile.name urllib.request.urlretrieve(source_url, temp_file_name) gfile.Copy(temp_file_name, filepath) with gfile.GFile(filepath) as f: size = f.Size() print('Successfully downloaded', filename, size, 'bytes.') return filepath