Coverage for aisdb/database/sqlfcn_callbacks.py: 100%

15 statements  

« prev     ^ index     » next       coverage.py v7.3.1, created at 2023-09-30 04:14 +0000

1''' redefinitions of functions in :py:mod:`aisdb.database.sql_query_strings`, 

2 combined into lambdas for convenience 

3''' 

4 

5from datetime import datetime, timedelta 

6 

7import numpy as np 

8 

9from aisdb.database.sql_query_strings import ( 

10 has_mmsi, 

11 in_bbox, 

12 in_mmsi, 

13 in_timerange, 

14 valid_mmsi, 

15) 

16 

17dt2monthstr = lambda start, end, **_: np.unique([ 

18 t.strftime('%Y%m') 

19 for t in np.arange(start, end, timedelta(days=1)).astype(datetime) 

20]).astype(object) 

21 

22in_bbox_time = lambda **kwargs: f'''\ 

23 {in_bbox(**kwargs)} AND 

24 {in_timerange(**kwargs)} ''' 

25in_bbox_time_validmmsi = lambda **kwargs: f'''\ 

26 {in_bbox(**kwargs)} AND 

27 {in_timerange(**kwargs)} AND 

28 {valid_mmsi(**kwargs)} ''' 

29in_time_bbox = lambda **kwargs: f'''\ 

30 {in_timerange(**kwargs)} AND 

31 {in_bbox(**kwargs)} ''' 

32in_time_bbox_hasmmsi = lambda **kwargs: f'''\ 

33 {in_timerange(**kwargs)} AND 

34 {in_bbox(**kwargs)} AND 

35 {has_mmsi(**kwargs)}''' 

36in_time_bbox_inmmsi = lambda **kwargs: f'''\ 

37 {in_timerange(**kwargs)} AND 

38 {in_bbox(**kwargs)} AND 

39 {in_mmsi(**kwargs)} ''' 

40in_time_bbox_validmmsi = lambda **kwargs: f'''\ 

41 {in_timerange(**kwargs)} AND 

42 {in_bbox(**kwargs)} AND 

43 {valid_mmsi(**kwargs)} ''' 

44in_time_mmsi = lambda **kwargs: f'''\ 

45 {in_timerange(**kwargs)} AND {valid_mmsi(**kwargs)}''' 

46in_timerange_hasmmsi = lambda **kwargs: f'''\ 

47 {in_timerange(**kwargs)} AND {has_mmsi(**kwargs)}''' 

48in_timerange_inmmsi = lambda **kwargs: f'''\ 

49 {in_timerange(**kwargs)} AND 

50 {in_mmsi(**kwargs)}''' 

51in_timerange_validmmsi = lambda **kwargs: f'''\ 

52 {in_timerange(**kwargs)} AND 

53 {valid_mmsi(**kwargs)}''' 

54in_validmmsi_bbox = lambda **kwargs: f'''\ 

55 {valid_mmsi(**kwargs)} AND 

56 {in_bbox(**kwargs)} '''