Stefal / mapillary_download

simple code to download images in a mapillary sequence
10 stars 3 forks source link

How do I download a sequence when the ID starts with "-"? #13

Open pbb72 opened 5 months ago

pbb72 commented 5 months ago

I'm trying to download a sequence whose first character is a dash. How do I do this, I keep getting "unrecognized arguments" errors.

(This is on Windows, if that makes a difference.)

Stefal commented 5 months ago

Hi! Could you share the sequence id ?

Did you try with single or double quote around the sequence id ?

pbb72 commented 5 months ago

The sequence key is "-Z4xWsxERTeVJ2LsmK-Gxg" (starts at https://www.mapillary.com/app/?pKey=906801086560737).

Adding quotes didn't make any difference.

mapillary_download.py <token> --sequence_ids "-Z4xWsxERTeVJ2LsmK-Gxg" returns:

usage: mapillary_download.py [-h] [--sequence_ids [SEQUENCE_IDS ...]] [--image_ids [IMAGE_IDS ...]]
                             [--destination DESTINATION] [--image_limit IMAGE_LIMIT] [--overwrite] [-v]
                             access_token
mapillary_download.py: error: unrecognized arguments: -Z4xWsxERTeVJ2LsmK-Gxg
Stefal commented 5 months ago

Quick workaround: use --sequence_ids=-Z4xWsxERTeVJ2LsmK-Gxg

I'll try to find a better solution.

pbb72 commented 5 months ago

Yes, I found that solution, though I think that way it's only possible to download one sequence? Another solution I found was adding quotes AND a space before the dash: --sequence_ids ... ... " -Z4xWsxERTeVJ2LsmK-Gxg" ... ... though if I remember correctly that also adds the space in the folder name that is created.

It seems like this is a bug in argparse, opened in 2010 and closed in 2021 with the message "Let's close this one. I don't think it is going to get solved." https://github.com/python/cpython/issues/53580

Stefal commented 5 months ago

I've try something different. You can try the branch: https://github.com/Stefal/mapillary_download/tree/sequence_id_with_dash

pbb72 commented 5 months ago

It seems there is a bug; any sequence specified after the one with the dash, is not downloaded.