1
1
""" Read pv functions """
2
2
from typing import List , Union
3
+ import logging
3
4
4
5
from sqlalchemy import desc
5
6
from sqlalchemy .orm import Session
6
7
7
8
from nowcasting_datamodel .models import GSPYieldSQL , LocationSQL
8
9
9
10
11
+ logger = logging .getLogger (__name__ )
12
+
13
+
10
14
def get_latest_gsp_yield (
11
15
session : Session , gsps : List [LocationSQL ], append_to_gsps : bool = False , regime : str = "in-day"
12
16
) -> Union [List [GSPYieldSQL ], List [LocationSQL ]]:
@@ -47,6 +51,8 @@ def get_latest_gsp_yield(
47
51
# get all results
48
52
gsp_yields : List [GSPYieldSQL ] = query .all ()
49
53
54
+ logger .debug (f'Found { len (gsp_yields )} latest gsp yields' )
55
+
50
56
if not append_to_gsps :
51
57
return gsp_yields
52
58
else :
@@ -58,16 +64,20 @@ def get_latest_gsp_yield(
58
64
59
65
gsp_systems_with_gsp_yields .append (gsp )
60
66
67
+ logger .debug (f'Found { len (gsp_systems_with_gsp_yields )} gsps with yields' )
68
+
61
69
# add pv systems that dont have any pv yields
62
70
gsp_systems_with_gsp_yields_ids = [gsp .id for gsp in gsp_systems_with_gsp_yields ]
63
71
64
72
gsp_systems_with_no_gsp_yields = []
65
73
for gsp in gsps :
66
- if gsp .gsp_id not in gsp_systems_with_gsp_yields_ids :
74
+ if gsp .id not in gsp_systems_with_gsp_yields_ids :
67
75
gsp .last_gsp_yield = None
68
76
69
77
gsp_systems_with_no_gsp_yields .append (gsp )
70
78
79
+ logger .debug (f'Found { len (gsp_systems_with_gsp_yields )} gsps with no yields' )
80
+
71
81
all_gsp_systems = gsp_systems_with_gsp_yields + gsp_systems_with_no_gsp_yields
72
82
73
83
return all_gsp_systems
0 commit comments