Sada bugfixu

This commit is contained in:
Michal Kváček
2024-08-12 06:27:28 +02:00
parent 9e6b0b574c
commit 94639da820
6 changed files with 174 additions and 190 deletions
+5 -9
View File
@@ -11,31 +11,27 @@ from database.transaction import get_session
async def add_elevation_to_photos():
async with async_session() as session:
photos = (await session.scalars(
async with get_session() as db:
photos = (await db.scalars(
select(models.Photo)
.filter(models.Photo.terrain_elevation.is_(None))
)).all()
coordinates = [
{"lat": p.gps_latitude, "lng": p.gps_longitude} for p in photos if p.gps_latitude or p.gps_longitude
{"lat": p.gps_latitude, "lng": p.gps_longitude, "id": p.id} for p in photos if p.gps_latitude or p.gps_longitude
]
photos_by_coordinates = {(p.gps_latitude, p.gps_longitude): p for p in photos}
if not coordinates:
print("all done")
return
points = await elevation_api.get_elevation_for_points(coordinates)
for point in points:
photo = photos_by_coordinates[point.lat, point.lng]
await models.Photo.update(db_session=session, obj=photo, data={"terrain_elevation": point.elevation})
await session.flush()
await session.commit()
await models.Photo.update(db_session=db, id=point.id, data={"terrain_elevation": point.elevation})
async def add_elevation_to_tracks():
async with get_session() as db:
track_points = (await db.session.scalars(
track_points = (await db.scalars(
select(models.TrackPoint)
.filter(models.TrackPoint.terrain_elevation.is_(None))
)).all()