linting
Some checks failed
Build and deploy the backend to staging / Build and push image (pull_request) Successful in 2m51s
Run linting on the backend code / Build (pull_request) Successful in 37s
Run testing on the backend code / Build (pull_request) Failing after 3m8s
Build and deploy the backend to staging / Deploy to staging (pull_request) Successful in 24s
Some checks failed
Build and deploy the backend to staging / Build and push image (pull_request) Successful in 2m51s
Run linting on the backend code / Build (pull_request) Successful in 37s
Run testing on the backend code / Build (pull_request) Failing after 3m8s
Build and deploy the backend to staging / Deploy to staging (pull_request) Successful in 24s
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
"""Module used to import data from OSM and arrange them in categories."""
|
||||
import logging
|
||||
import yaml
|
||||
import xml.etree.ElementTree as ET
|
||||
import yaml
|
||||
|
||||
|
||||
from ..structs.preferences import Preferences
|
||||
from ..structs.landmark import Landmark
|
||||
from .take_most_important import take_most_important
|
||||
from .cluster_manager import ClusterManager
|
||||
from ..overpass.overpass import build_query, send_overpass_query
|
||||
from ..overpass.overpass import build_query, send_query
|
||||
from ..overpass.caching_strategy import CachingStrategy
|
||||
|
||||
from ..constants import AMENITY_SELECTORS_PATH, LANDMARK_PARAMETERS_PATH, OPTIMIZER_PARAMETERS_PATH, OSM_CACHE_DIR
|
||||
@@ -205,11 +205,11 @@ class LandmarkManager:
|
||||
self.logger.debug(f"Query: {query}")
|
||||
|
||||
try:
|
||||
result = send_overpass_query(query)
|
||||
result = send_query(query)
|
||||
except Exception as e:
|
||||
self.logger.error(f"Error fetching landmarks: {e}")
|
||||
continue
|
||||
|
||||
|
||||
return_list += self.xml_to_landmarks(result, landmarktype, preference_level)
|
||||
|
||||
self.logger.debug(f"Fetched {len(return_list)} landmarks of type {landmarktype} in {bbox}")
|
||||
@@ -240,23 +240,27 @@ class LandmarkManager:
|
||||
for osm_type in ['node', 'way', 'relation'] :
|
||||
for elem in root.findall(osm_type):
|
||||
name = elem.find("tag[@k='name']").get('v') if elem.find("tag[@k='name']") is not None else None
|
||||
center = elem.find('center')
|
||||
tags = elem.findall('tag')
|
||||
|
||||
# Extract the center latitude and longitude if available.
|
||||
if name is not None and center is not None:
|
||||
if osm_type != 'node' :
|
||||
center = elem.find('center')
|
||||
lat = float(center.get('lat'))
|
||||
lon = float(center.get('lon'))
|
||||
coords = tuple((lat, lon))
|
||||
|
||||
else :
|
||||
lat = float(elem.get('lat'))
|
||||
lon = float(elem.get('lon'))
|
||||
coords = tuple((lat, lon))
|
||||
|
||||
if name is None or coords is None :
|
||||
continue
|
||||
|
||||
|
||||
# Convert this to Landmark object
|
||||
landmark = Landmark(name=name,
|
||||
type=landmarktype,
|
||||
location=coords,
|
||||
osm_id=elem.get('id'),
|
||||
osm_id=elem.get('id'),
|
||||
osm_type=osm_type,
|
||||
attractiveness=0,
|
||||
n_tags=len(tags))
|
||||
@@ -277,7 +281,7 @@ class LandmarkManager:
|
||||
break
|
||||
# if value == 'apartments' :
|
||||
# break
|
||||
|
||||
|
||||
# Fill in the other attributes.
|
||||
if key == 'image' :
|
||||
landmark.image_url = value
|
||||
@@ -291,7 +295,7 @@ class LandmarkManager:
|
||||
landmark.name_en = value
|
||||
if 'building:' in key or 'pay' in key :
|
||||
landmark.n_tags -= 1
|
||||
|
||||
|
||||
# Set the duration.
|
||||
if value in ['museum', 'aquarium', 'planetarium'] :
|
||||
landmark.duration = 60
|
||||
@@ -304,12 +308,10 @@ class LandmarkManager:
|
||||
else :
|
||||
landmark.duration = 5
|
||||
|
||||
else:
|
||||
# add them to cache here before setting the score
|
||||
# name should be : 'osm_type + str(osm_id) + 'json'
|
||||
else:
|
||||
self.set_landmark_score(landmark, landmarktype, preference_level)
|
||||
landmarks.append(landmark)
|
||||
# self.logger.debug('new landmark added')
|
||||
|
||||
continue
|
||||
|
||||
return landmarks
|
||||
|
Reference in New Issue
Block a user