Skip to content

Commit

Permalink
[Mapy] Save panos with metadata
Browse files Browse the repository at this point in the history
  • Loading branch information
sk-zk committed Dec 23, 2024
1 parent a2fb8a4 commit 5a6b7c3
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions streetlevel/mapy/mapy.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import itertools
import math
from typing import List, Optional

from aiohttp import ClientSession
Expand All @@ -9,6 +10,7 @@
from .panorama import MapyPanorama
from .parse import parse_pan_info_dict, parse_neighbors_response, parse_getbest_response
from ..dataclasses import Tile, Link
from ..exif import save_with_metadata
from ..util import get_equirectangular_panorama, get_equirectangular_panorama_async, get_image, get_image_async

api = MapyApi()
Expand Down Expand Up @@ -172,7 +174,7 @@ async def get_panorama_async(pano: MapyPanorama, session: ClientSession, zoom: i

def download_panorama(pano: MapyPanorama, path: str, zoom: int = 2, pil_args: dict = None) -> None:
"""
Downloads a panorama to a file.
Downloads a panorama to a file. If the chosen format is JPEG, Exif and XMP GPano metadata are included.
:param pano: The panorama.
:param path: Output path.
Expand All @@ -185,15 +187,19 @@ def download_panorama(pano: MapyPanorama, path: str, zoom: int = 2, pil_args: di
if pil_args is None:
pil_args = {}
image = get_panorama(pano, zoom=zoom)
image.save(path, **pil_args)
save_with_metadata(image, path, pil_args, str(pano.id),
pano.lat, pano.lon, None, str(pano.date),
0, pano.pitch, pano.roll, pano.provider)


async def download_panorama_async(pano: MapyPanorama, path: str, session: ClientSession,
zoom: int = 2, pil_args: dict = None) -> None:
if pil_args is None:
pil_args = {}
image = await get_panorama_async(pano, session, zoom=zoom)
image.save(path, **pil_args)
save_with_metadata(image, path, pil_args, str(pano.id),
pano.lat, pano.lon, None, str(pano.date),
0, pano.pitch, pano.roll, pano.provider)


def _validate_find_panorama_params(radius, year):
Expand Down

0 comments on commit 5a6b7c3

Please sign in to comment.