]> git.madduck.net Git - etc/taskwarrior.git/commitdiff

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

normalizers: Handle None properly in all normalizers
authorTomas Babej <tomasbabej@gmail.com>
Fri, 20 Feb 2015 10:49:22 +0000 (11:49 +0100)
committerTomas Babej <tomasbabej@gmail.com>
Fri, 20 Feb 2015 17:19:10 +0000 (18:19 +0100)
tasklib/task.py
tasklib/tests.py

index 7b512c5f88837603661c9b8220f880a45fefa356..789e4efd511359ab473d48ee96f0cc99ea8d63a3 100644 (file)
@@ -103,6 +103,10 @@ class SerializingObject(object):
         or entered as a value of Task attribute.
         """
 
         or entered as a value of Task attribute.
         """
 
+        # None value should not be converted by normalizer
+        if value is None:
+            return None
+
         normalize_func = getattr(self, 'normalize_{0}'.format(key),
                                  lambda x: x)
 
         normalize_func = getattr(self, 'normalize_{0}'.format(key),
                                  lambda x: x)
 
@@ -233,7 +237,7 @@ class SerializingObject(object):
             # If the value is already localized, there is no need to change
             # time zone at this point. Also None is a valid value too.
             localized = value
             # If the value is already localized, there is no need to change
             # time zone at this point. Also None is a valid value too.
             localized = value
-        
+
         return localized
 
     def normalize_uuid(self, value):
         return localized
 
     def normalize_uuid(self, value):
index bc2885a1867175defe7c356201d5f6423ce734fe..5ebea1375aaeb682f845104f50f6d6fae369c449 100644 (file)
@@ -502,12 +502,8 @@ class TaskTest(TasklibTest):
         # Test that any normalizer can handle None as a valid value
         t = Task(self.tw)
 
         # Test that any normalizer can handle None as a valid value
         t = Task(self.tw)
 
-        # These normalizers are not supposed to handle None
-        exempt_normalizers = ('normalize_uuid', )
-
         normalizers = [getattr(t, normalizer_name) for normalizer_name in
         normalizers = [getattr(t, normalizer_name) for normalizer_name in
-                       filter(lambda x: x.startswith('normalize_'), dir(t))
-                       if normalizer_name not in exempt_normalizers]
+                       filter(lambda x: x.startswith('normalize_'), dir(t))]
 
         for normalizer in normalizers:
             normalizer(None)
 
         for normalizer in normalizers:
             normalizer(None)