Source code for wikibaseintegrator.datatypes.string

from typing import Any, Optional

from wikibaseintegrator.datatypes.basedatatype import BaseDataType


[docs] class String(BaseDataType): """ Implements the Wikibase data type 'string' """ DTYPE = 'string'
[docs] def __init__(self, value: Optional[str] = None, **kwargs: Any): """ Constructor, calls the superclass BaseDataType :param value: The string to be used as the value """ super().__init__(**kwargs) self.set_value(value=value)
[docs] def set_value(self, value: Optional[str] = None): assert isinstance(value, str) or value is None, f"Expected str, found {type(value)} ({value})" if value and ('\n' in value or '\r' in value): raise ValueError("String value must not contain newline character") if value: self.mainsnak.datavalue = { 'value': value, 'type': 'string' }