generated from jCloud/repository-template
feat(exceptions): add DirectoryNotEmptyError
Added an OSError subclass for indicating that the directory is not empty. This exception is explicitly handled by the CLI now.
This commit is contained in:
2 files changed
+14
No files matched your search
@@ -20,6 +20,7 @@ import argparse
|
|||||||
import pathlib
|
import pathlib
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
from ..exceptions import DirectoryNotEmptyError
|
||||||
from .languages.python import VALID_SECTIONS as VALID_PYTHON_SECTIONS
|
from .languages.python import VALID_SECTIONS as VALID_PYTHON_SECTIONS
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
@@ -157,6 +158,8 @@ def main(argv=None) -> int:
|
|||||||
return error(f'{exc.filename}: not a directory')
|
return error(f'{exc.filename}: not a directory')
|
||||||
except IsADirectoryError as exc:
|
except IsADirectoryError as exc:
|
||||||
return error(f'{exc.filename}: is a directory')
|
return error(f'{exc.filename}: is a directory')
|
||||||
|
except DirectoryNotEmptyError as exc:
|
||||||
|
return error(f'{exc.filename}: directory not empty')
|
||||||
except FileExistsError as exc:
|
except FileExistsError as exc:
|
||||||
return error(f'{exc.filename}: file already exists')
|
return error(f'{exc.filename}: file already exists')
|
||||||
except PermissionError as exc:
|
except PermissionError as exc:
|
||||||
|
|||||||
@@ -12,6 +12,8 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
import errno
|
||||||
|
|
||||||
|
|
||||||
class NamespaceError(ValueError):
|
class NamespaceError(ValueError):
|
||||||
"""
|
"""
|
||||||
@@ -101,3 +103,12 @@ class PythonDefinitionError(ValueError):
|
|||||||
|
|
||||||
|
|
||||||
class PythonArgumentStructureError(PythonDefinitionError): ...
|
class PythonArgumentStructureError(PythonDefinitionError): ...
|
||||||
|
|
||||||
|
|
||||||
|
class DirectoryNotEmptyError(OSError):
|
||||||
|
"""
|
||||||
|
Directory is not empty.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, filename: str | None = None) -> None:
|
||||||
|
super().__init__(errno.ENOTEMPTY, 'Directory not empty', filename)
|
||||||
Reference in new issue
Block a user