]> Frank Brehm's Git Trees - pixelpark/pp-admin-tools.git/commitdiff
Adding exception classes DateFormatError and WrongDateIsoformatError
authorFrank Brehm <frank.brehm@pixelpark.com>
Wed, 27 Mar 2024 10:56:25 +0000 (11:56 +0100)
committerFrank Brehm <frank.brehm@pixelpark.com>
Wed, 27 Mar 2024 10:56:25 +0000 (11:56 +0100)
lib/pp_admintools/errors.py

index d345e2f68f1d02ce41612886c222b2aabf7a7f55..f6f8c52763f71eaabd3bc1737afe12d7f626b73a 100644 (file)
@@ -6,11 +6,16 @@
 @author: Frank Brehm
 """
 
-# own modules
+# Third party modules
 from fb_tools.errors import FbAppError, FbError
 
+# own modules
+from .xlate import XLATOR
+
+_ = XLATOR.gettext
+
+__version__ = '0.9.0'
 
-__version__ = '0.8.2'
 
 # =============================================================================
 class DpxError(FbError):
@@ -122,6 +127,7 @@ class DpxDeployZonesError(DpxPDNSAppError):
 
     pass
 
+
 # =============================================================================
 class CheckLdapDnAttributesError(DpxLdapError):
     """Special exception class for exceptions in module app.check_ldap_dn_attributes."""
@@ -129,6 +135,34 @@ class CheckLdapDnAttributesError(DpxLdapError):
     pass
 
 
+# =============================================================================
+class DateFormatError(DpxError):
+    """Special exception class, if a date string could not be interpreted as a date string."""
+
+    pass
+
+# =============================================================================
+class WrongDateIsoformatError(DateFormatError):
+    """Special exception class, if a date string could not be interpreted as an ISO date string."""
+
+    # -----------------------------------------------------
+    def __init__(self, datestr):
+        """
+        Initialise a WrongDateIsoformatError exception.
+
+        @param datestr: The date string, which could not be interpreted.
+        @type datestr: str
+
+        """
+        self.datestr = str(datestr)
+
+    # -----------------------------------------------------
+    def __str__(self):
+        """Typecast into a string for error output."""
+        return _('The date string {!r} could not be interpreted as an ISO date.').format(
+            self.datestr)
+
+
 # =============================================================================
 
 if __name__ == '__main__':