schema.Column: Add property translate

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2025-02-14 08:12:02 +01:00
commit 91d7517054
2 changed files with 18 additions and 0 deletions

View file

@ -19,6 +19,7 @@ class Column(abc.ABC): # export
self.__default_value: Optional[Any] = None self.__default_value: Optional[Any] = None
self.__default_value_cached: bool = False self.__default_value_cached: bool = False
self.__is_auto_increment: Optional[bool] = None self.__is_auto_increment: Optional[bool] = None
self.__translate: Optional[bool] = None
self.__data_type: DataType = data_type self.__data_type: DataType = data_type
self.__foreign_keys: Optional[Any] = None self.__foreign_keys: Optional[Any] = None
self.__foreign_keys_cached: bool = False self.__foreign_keys_cached: bool = False
@ -84,6 +85,12 @@ class Column(abc.ABC): # export
self.__is_auto_increment = self.__name in self.__table.auto_increment_columns self.__is_auto_increment = self.__name in self.__table.auto_increment_columns
return self.__is_auto_increment return self.__is_auto_increment
@property
def translate(self) -> bool:
if self.__translate is None:
self.__translate = self.__name in self.__table.translate_columns
return self.__translate
@property @property
def default_value(self) -> Optional[Any]: def default_value(self) -> Optional[Any]:
if self.__default_value_cached is False: if self.__default_value_cached is False:

View file

@ -32,6 +32,7 @@ class Table(abc.ABC): # export
self.__null_insertible_columns: Optional[Iterable[str]] = None self.__null_insertible_columns: Optional[Iterable[str]] = None
self.__not_null_insertible_columns: Optional[Iterable[str]] = None self.__not_null_insertible_columns: Optional[Iterable[str]] = None
self.__log_columns: Optional[Iterable[str]] = None self.__log_columns: Optional[Iterable[str]] = None
self.__translate_columns: Optional[Iterable[str]] = None
self.__display_columns: Optional[Iterable[str]] = None self.__display_columns: Optional[Iterable[str]] = None
self.__column_default: Optional[dict[str, Any]] = None self.__column_default: Optional[dict[str, Any]] = None
self.__base_location_rule: Optional[Iterable[str]] = None self.__base_location_rule: Optional[Iterable[str]] = None
@ -117,6 +118,10 @@ class Table(abc.ABC): # export
def _auto_increment_columns(self) -> Iterable[str]: def _auto_increment_columns(self) -> Iterable[str]:
pass pass
@abc.abstractmethod
def _translate_columns(self) -> Iterable[str]:
pass
@abc.abstractmethod @abc.abstractmethod
def _column_default(self, name) -> Any: def _column_default(self, name) -> Any:
pass pass
@ -268,6 +273,12 @@ class Table(abc.ABC): # export
def auto_increment_columns(self) -> Iterable[str]: def auto_increment_columns(self) -> Iterable[str]:
return self._auto_increment_columns() return self._auto_increment_columns()
@property
def translate_columns(self) -> Iterable[str]:
if self.__translate_columns is None:
self.__translate_columns = self._translate_columns()
return self.__translate_columns
@property @property
def nullable_columns(self) -> Iterable[str]: def nullable_columns(self) -> Iterable[str]:
if self.__nullable_columns is None: if self.__nullable_columns is None: