se adiciona archivo faltante
FossilOrigin-Name: 9b0c4d69d898ddbcd9279b3055e72df525feaefb0d46700dc6c019acdba01e80
This commit is contained in:
		
							
								
								
									
										24
									
								
								facho/model/fields/function.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								facho/model/fields/function.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| from .field import Field | ||||
| from .model import Model | ||||
|  | ||||
| class Function(Field): | ||||
|     def __init__(self, getter, setter=None, field=None): | ||||
|         self.field = field | ||||
|         self.getter = getter | ||||
|         self.setter = setter | ||||
|  | ||||
|     def __get__(self, inst, cls): | ||||
|         if inst is None: | ||||
|             return self | ||||
|         assert self.name is not None | ||||
|  | ||||
|         if self.field is None: | ||||
|             return self._call(inst, self.getter, self.name) | ||||
|         else: | ||||
|             obj = Model(self.field) | ||||
|             return self._call(inst, self.getter, self.name, obj) | ||||
|  | ||||
|     def __set__(self, inst, value): | ||||
|         if self.setter is None: | ||||
|             return super().__set__(self.name, value) | ||||
|         self._call(inst, self.setter, self.name, value) | ||||
		Reference in New Issue
	
	Block a user