Compose invalid class name character error message in exception
Signed-off-by: martin f. krafft <madduck@madduck.net>
diff --git a/reclass/datatypes/classes.py b/reclass/datatypes/classes.py
index 132db31..2591bc1 100644
--- a/reclass/datatypes/classes.py
+++ b/reclass/datatypes/classes.py
@@ -8,9 +8,10 @@
#
import types
+import os
from reclass.errors import InvalidClassnameError
-INVALID_CHARACTERS_FOR_CLASSNAMES = ' '
+INVALID_CHARACTERS_FOR_CLASSNAMES = ' ' + os.sep
class Classes(object):
'''
@@ -57,8 +58,7 @@
def _assert_valid_characters(self, item):
for c in INVALID_CHARACTERS_FOR_CLASSNAMES:
if c in item:
- raise InvalidClassnameError("Invalid character '{0}' "
- "in class name '{1}'.".format(c, item))
+ raise InvalidClassnameError(c, item)
def _append_if_new(self, item):
if item not in self._items:
diff --git a/reclass/errors.py b/reclass/errors.py
index b7940d6..53f340a 100644
--- a/reclass/errors.py
+++ b/reclass/errors.py
@@ -111,5 +111,9 @@
class InvalidClassnameError(NameError):
- def __init__(self, msg):
+ def __init__(self, invalid_character, classname):
+ self._invalid_character = invalid_character
+ self._classname = classname
+ msg = "Invalid character '{0}' in class name '{1}'."
+ msg = msg.format(invalid_character, classname)
super(InvalidClassnameError, self).__init__(msg)