Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/sqlalchemy_utils/types/enriched_datetime/pendulum_date.py: 50%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

24 statements  

1from ...exceptions import ImproperlyConfigured 

2from .pendulum_datetime import PendulumDateTime 

3 

4pendulum = None 

5try: 

6 import pendulum 

7except ImportError: 

8 pass 

9 

10 

11class PendulumDate(PendulumDateTime): 

12 def __init__(self): 

13 if not pendulum: 

14 raise ImproperlyConfigured( 

15 "'pendulum' package is required to use 'PendulumDate'" 

16 ) 

17 

18 def _coerce(self, impl, value): 

19 if value: 

20 if not isinstance(value, pendulum.Date): 

21 value = super()._coerce(impl, value).date() 

22 return value 

23 

24 def process_result_value(self, impl, value, dialect): 

25 if value: 

26 return pendulum.parse(value.isoformat()).date() 

27 return value 

28 

29 def process_bind_param(self, impl, value, dialect): 

30 if value: 

31 return self._coerce(impl, value) 

32 return value