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"))
Example #2
0
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
Example #3
0
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