def test_bad_args(self) -> None: with self.assertRaises(NotImplementedError): PathManager.copy( self._remote_uri, self._remote_uri, foo="foo" # type: ignore ) with self.assertRaises(NotImplementedError): PathManager.exists(self._remote_uri, foo="foo") # type: ignore with self.assertRaises(ValueError): PathManager.get_local_path( self._remote_uri, foo="foo" # type: ignore ) with self.assertRaises(NotImplementedError): PathManager.isdir(self._remote_uri, foo="foo") # type: ignore with self.assertRaises(NotImplementedError): PathManager.isfile(self._remote_uri, foo="foo") # type: ignore with self.assertRaises(NotImplementedError): PathManager.ls(self._remote_uri, foo="foo") # type: ignore with self.assertRaises(NotImplementedError): PathManager.mkdirs(self._remote_uri, foo="foo") # type: ignore with self.assertRaises(ValueError): PathManager.open(self._remote_uri, foo="foo") # type: ignore with self.assertRaises(NotImplementedError): PathManager.rm(self._remote_uri, foo="foo") # type: ignore PathManager.set_strict_kwargs_checking(False) PathManager.get_local_path(self._remote_uri, foo="foo") # type: ignore f = PathManager.open(self._remote_uri, foo="foo") # type: ignore f.close() PathManager.set_strict_kwargs_checking(True)
def _save_checkpoint(self, task, filename): if getattr(task, "test_only", False): return assert PathManager.exists( self.checkpoint_folder ), "Checkpoint folder '{}' deleted unexpectedly".format(self.checkpoint_folder) # save checkpoint: logging.info("Saving checkpoint to '{}'...".format(self.checkpoint_folder)) checkpoint_file = save_checkpoint( self.checkpoint_folder, get_checkpoint_dict(task, self.input_args) ) # make copy of checkpoint that won't be overwritten: PathManager.copy(checkpoint_file, f"{self.checkpoint_folder}/{filename}")
def test_bad_args(self) -> None: # TODO (T58240718): Replace with dynamic checks with self.assertRaises(ValueError): PathManager.copy( self._tmpfile, self._tmpfile, foo="foo" # type: ignore ) with self.assertRaises(ValueError): PathManager.exists(self._tmpfile, foo="foo") # type: ignore with self.assertRaises(ValueError): PathManager.get_local_path(self._tmpfile, foo="foo") # type: ignore with self.assertRaises(ValueError): PathManager.isdir(self._tmpfile, foo="foo") # type: ignore with self.assertRaises(ValueError): PathManager.isfile(self._tmpfile, foo="foo") # type: ignore with self.assertRaises(ValueError): PathManager.ls(self._tmpfile, foo="foo") # type: ignore with self.assertRaises(ValueError): PathManager.mkdirs(self._tmpfile, foo="foo") # type: ignore with self.assertRaises(ValueError): PathManager.open(self._tmpfile, foo="foo") # type: ignore with self.assertRaises(ValueError): PathManager.rm(self._tmpfile, foo="foo") # type: ignore PathManager.set_strict_kwargs_checking(False) PathManager.copy( self._tmpfile, self._tmpfile, foo="foo" # type: ignore ) PathManager.exists(self._tmpfile, foo="foo") # type: ignore PathManager.get_local_path(self._tmpfile, foo="foo") # type: ignore PathManager.isdir(self._tmpfile, foo="foo") # type: ignore PathManager.isfile(self._tmpfile, foo="foo") # type: ignore PathManager.ls(self._tmpdir, foo="foo") # type: ignore PathManager.mkdirs(self._tmpdir, foo="foo") # type: ignore f = PathManager.open(self._tmpfile, foo="foo") # type: ignore f.close() # pyre-ignore with open(os.path.join(self._tmpdir, "test_rm.txt"), "w") as f: rm_file = f.name f.write(self._tmpfile_contents) f.flush() PathManager.rm(rm_file, foo="foo") # type: ignore
def test_copy(self): _tmpfile_2 = self._tmpfile + "2" _tmpfile_2_contents = "something else" with open(_tmpfile_2, "w") as f: f.write(_tmpfile_2_contents) f.flush() assert PathManager.copy(self._tmpfile, _tmpfile_2, True) with PathManager.open(_tmpfile_2, "r") as f: self.assertEqual(f.read(), self._tmpfile_contents)
def _save_checkpoint(self, task, filename): if getattr(task, "test_only", False): return assert PathManager.exists( self.checkpoint_folder ), "Checkpoint folder '{}' deleted unexpectedly".format( self.checkpoint_folder) for prefix in gfs_prefix_list: if self.checkpoint_folder.startswith(prefix): logging.warning( "GFS is deprecating... please save checkpoint to manifold!" ) break # save checkpoint: logging.info("Saving checkpoint to '{}'...".format( self.checkpoint_folder)) checkpoint_file = save_checkpoint( self.checkpoint_folder, get_checkpoint_dict(task, self.input_args)) # make copy of checkpoint that won't be overwritten: PathManager.copy(checkpoint_file, f"{self.checkpoint_folder}/{filename}")
def copy(src_path: str, dst_path: str, overwrite: bool = False) -> bool: if FVCorePathManager: return FVCorePathManager.copy(src_path=src_path, dst_path=dst_path, overwrite=overwrite) return shutil.copyfile(src_path, dst_path)