temp clearing endpoint

This commit is contained in:
Khalim Conn-Kowlessar 2025-11-16 16:26:23 +08:00
parent ab9b0b16f9
commit f6ff037994
2 changed files with 33 additions and 32 deletions

View file

@ -1,31 +1,30 @@
import boto3 # import boto3
import json # import json
import math # import math
import asyncio # import asyncio
import random # import random
#
from datetime import datetime # from datetime import datetime
from fastapi import APIRouter, Depends from fastapi import APIRouter, Depends
from backend.app.dependencies import validate_token from backend.app.dependencies import validate_token
from backend.app.plan.schemas import PlanTriggerRequest # from backend.app.plan.schemas import PlanTriggerRequest
from backend.app.config import get_settings from backend.app.config import get_settings
from sqlalchemy.orm import sessionmaker # from sqlalchemy.orm import sessionmaker
from utils.logger import setup_logger from utils.logger import setup_logger
from backend.app.db.connection import db_engine # from backend.app.db.connection import db_engine
from backend.app.db.functions.recommendations_functions import create_scenario # from backend.app.db.functions.recommendations_functions import create_scenario
import pandas as pd # import pandas as pd
from backend.app.whlg.schema import WHLGElligibilityRequest from backend.app.whlg.schema import WHLGElligibilityRequest
from utils.s3 import read_csv_from_s3 # from utils.s3 import read_csv_from_s3
from sqlalchemy.dialects.postgresql import insert # from sqlalchemy.dialects.postgresql import insert
from backend.app.db.connection import get_db_session # from backend.app.db.connection import get_db_session
from backend.app.db.models.whlg import Whlg # from backend.app.db.models.whlg import Whlg
from backend.app.db.functions.whlg_functions import upsert_whlg_postcode # from backend.app.db.functions.whlg_functions import upsert_whlg_postcode
logger = setup_logger() logger = setup_logger()
if get_settings().ENVIRONMENT == "local": if get_settings().ENVIRONMENT == "local":
router = APIRouter( router = APIRouter(
prefix="/whlg", prefix="/whlg",
@ -40,6 +39,7 @@ else:
responses={404: {"description": "Not found"}} responses={404: {"description": "Not found"}}
) )
@router.get("/") @router.get("/")
async def whlg_entrypoint(): async def whlg_entrypoint():
# body needs to include postcode, UPRN [task ID?] # body needs to include postcode, UPRN [task ID?]
@ -62,17 +62,16 @@ async def whlg_entrypoint():
@router.post("/eligible") @router.post("/eligible")
async def eligiable(body: WHLGElligibilityRequest): async def eligiable(body: WHLGElligibilityRequest):
postcode = body.postcode or "" # postcode = body.postcode or ""
postcode = postcode.lower().replace(" ", "") # postcode = postcode.lower().replace(" ", "")
#
whlg_eligible_postcodes = read_csv_from_s3( # whlg_eligible_postcodes = read_csv_from_s3(
bucket_name=get_settings().DATA_BUCKET, # bucket_name=get_settings().DATA_BUCKET,
filepath="funding/whlg eligible postcodes.csv", # filepath="funding/whlg eligible postcodes.csv",
) # )
whlg_eligible_postcodes = pd.DataFrame(whlg_eligible_postcodes) # whlg_eligible_postcodes = pd.DataFrame(whlg_eligible_postcodes)
whlg_eligible_postcodes['Postcode'] = whlg_eligible_postcodes['Postcode'].str.replace(' ', '', regex=False) # whlg_eligible_postcodes['Postcode'] = whlg_eligible_postcodes['Postcode'].str.replace(' ', '', regex=False)
#
is_eligible = postcode in whlg_eligible_postcodes['Postcode'].values # is_eligible = postcode in whlg_eligible_postcodes['Postcode'].values
return {"whlg_eligible": is_eligible} # return {"whlg_eligible": is_eligible}
return None

View file

@ -751,7 +751,9 @@ class Costs:
# Adjust total radiator needs based on built form # Adjust total radiator needs based on built form
form_factor = { form_factor = {
'Enclosed Mid-Terrace': 0.9,
'Mid-Terrace': 0.95, 'Mid-Terrace': 0.95,
'Enclosed End-Terrace': 0.95,
'Semi-Detached': 1.05, 'Semi-Detached': 1.05,
'Detached': 1.25, 'Detached': 1.25,
'End-Terrace': 1.05 'End-Terrace': 1.05