Source code for taskw.fields.string

import logging

import six

from taskw.utils import encode_replacements_experimental
from .base import Field


logger = logging.getLogger(__name__)


[docs]class StringField(Field):
[docs] def deserialize(self, value): # If value is None, let's just let it pass through if not value: return value if not isinstance(value, six.string_types): value = six.text_type(value) for left, right in six.iteritems(encode_replacements_experimental): value = value.replace(right, left) return value
[docs] def serialize(self, value): # If value is None let it pass through if not value: return value if not isinstance(value, six.string_types): string_value = six.text_type(value) logger.debug( "Value %s serialized to string as '%s'", repr(value), string_value ) value = string_value for left, right in six.iteritems(encode_replacements_experimental): value = value.replace(left, right) return value