From a819f0faa54856dff1ad5b3456f83a844ec96cd5 Mon Sep 17 00:00:00 2001 From: Daniel Leech Date: Mon, 13 Apr 2020 11:28:28 +0100 Subject: [PATCH 1/5] Add path not exists exception which specifies the path Specify the path which doesn't exist when the path doesn't exist. --- src/ParallelDriver.php | 10 +++++----- src/PathDoesNotExistException.php | 13 +++++++++++++ 2 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 src/PathDoesNotExistException.php diff --git a/src/ParallelDriver.php b/src/ParallelDriver.php index fe12420..c93716e 100644 --- a/src/ParallelDriver.php +++ b/src/ParallelDriver.php @@ -211,12 +211,12 @@ public function size(string $path): Promise return call(function () use ($path) { $stat = yield $this->stat($path); if (empty($stat)) { - throw new FilesystemException("Specified path does not exist"); + throw new PathDoesNotExistException($path); } if ($stat["mode"] & 0100000) { return $stat["size"]; } - throw new FilesystemException("Specified path is not a regular file"); + throw new FilesystemException(sprintf('Specified path "%s" is not a regular file', $path)); }); } @@ -228,7 +228,7 @@ public function mtime(string $path): Promise return call(function () use ($path) { $stat = yield $this->stat($path); if (empty($stat)) { - throw new FilesystemException("Specified path does not exist"); + throw new PathDoesNotExistException($path); } return $stat["mtime"]; }); @@ -242,7 +242,7 @@ public function atime(string $path): Promise return call(function () use ($path) { $stat = yield $this->stat($path); if (empty($stat)) { - throw new FilesystemException("Specified path does not exist"); + throw new PathDoesNotExistException($path); } return $stat["atime"]; }); @@ -256,7 +256,7 @@ public function ctime(string $path): Promise return call(function () use ($path) { $stat = yield $this->stat($path); if (empty($stat)) { - throw new FilesystemException("Specified path does not exist"); + throw new PathDoesNotExistException($path); } return $stat["ctime"]; }); diff --git a/src/PathDoesNotExistException.php b/src/PathDoesNotExistException.php new file mode 100644 index 0000000..06bbb4e --- /dev/null +++ b/src/PathDoesNotExistException.php @@ -0,0 +1,13 @@ + Date: Mon, 13 Apr 2020 11:31:13 +0100 Subject: [PATCH 2/5] Remove unused class --- src/PathDoesNotExistException.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/PathDoesNotExistException.php b/src/PathDoesNotExistException.php index 06bbb4e..eacb247 100644 --- a/src/PathDoesNotExistException.php +++ b/src/PathDoesNotExistException.php @@ -2,8 +2,6 @@ namespace Amp\File; -use Exception; - class PathDoesNotExistException extends FileSystemException { public function __construct(string $path) From 5c4bd0cdfd02793926dffc0346ed215de172fa38 Mon Sep 17 00:00:00 2001 From: Daniel Leech Date: Mon, 13 Apr 2020 11:33:05 +0100 Subject: [PATCH 3/5] Add getter --- src/PathDoesNotExistException.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/PathDoesNotExistException.php b/src/PathDoesNotExistException.php index eacb247..7eb2402 100644 --- a/src/PathDoesNotExistException.php +++ b/src/PathDoesNotExistException.php @@ -4,8 +4,16 @@ class PathDoesNotExistException extends FileSystemException { + private $path; + public function __construct(string $path) { + $this->path = $path; parent::__construct(sprintf('Specified path "%s" does not exist', $path)); } + + public function getPath(): string + { + return $this->path; + } } From 50ec6cca6f3aa4a53a93498aafbf565cfa163f74 Mon Sep 17 00:00:00 2001 From: Daniel Leech Date: Mon, 13 Apr 2020 11:34:31 +0100 Subject: [PATCH 4/5] Applies CS fixes --- src/ParallelDriver.php | 2 +- src/PathDoesNotExistException.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ParallelDriver.php b/src/ParallelDriver.php index c93716e..41eaa06 100644 --- a/src/ParallelDriver.php +++ b/src/ParallelDriver.php @@ -216,7 +216,7 @@ public function size(string $path): Promise if ($stat["mode"] & 0100000) { return $stat["size"]; } - throw new FilesystemException(sprintf('Specified path "%s" is not a regular file', $path)); + throw new FilesystemException(\sprintf('Specified path "%s" is not a regular file', $path)); }); } diff --git a/src/PathDoesNotExistException.php b/src/PathDoesNotExistException.php index 7eb2402..a0610f0 100644 --- a/src/PathDoesNotExistException.php +++ b/src/PathDoesNotExistException.php @@ -9,7 +9,7 @@ class PathDoesNotExistException extends FileSystemException public function __construct(string $path) { $this->path = $path; - parent::__construct(sprintf('Specified path "%s" does not exist', $path)); + parent::__construct(\sprintf('Specified path "%s" does not exist', $path)); } public function getPath(): string From 07fa34a2bc8490aa73ea9cafd4eea9a84edc65ba Mon Sep 17 00:00:00 2001 From: Daniel Leech Date: Mon, 13 Apr 2020 11:39:01 +0100 Subject: [PATCH 5/5] Use correct case for filesystem exception --- src/PathDoesNotExistException.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PathDoesNotExistException.php b/src/PathDoesNotExistException.php index a0610f0..7c1dbef 100644 --- a/src/PathDoesNotExistException.php +++ b/src/PathDoesNotExistException.php @@ -2,7 +2,7 @@ namespace Amp\File; -class PathDoesNotExistException extends FileSystemException +class PathDoesNotExistException extends FilesystemException { private $path;