mapillary / mapillary_tools

Command line tools for processing and uploading Mapillary imagery
BSD 2-Clause "Simplified" License
267 stars 138 forks source link

Upload history should be qualified as cache data #568

Open JakeSmarter opened 2 years ago

JakeSmarter commented 2 years ago

https://github.com/mapillary/mapillary_tools/blob/2f3331c6194a9d977e2e06541320830feb9ac7ad/mapillary_tools/upload.py#L50-L55 This data is not essential for the app to work. It is neither an app setting, a configuration, nor a preference. It can also be recreated at any time. The upload history is not tied to a specific machine either because uploaded imagery could have been pulled by the local machine from anywhere. Thus, it should not need to roam. The upload history can become huge very quickly for users frequently uploading lots of sequences. No one really wants to roam this stuff around over networks. Furthermore, for how long does this “history” (has to) live?

Please, see the XDG Base Directory Specification for qualifying app data. The same logic applies to basically any other OS. So please, use appdirs.user_cache_dir for upload history data. Yeah, you can override MAPILLARY_UPLOAD_HISTORY_PATH but it should be set to a sane default initially. If a user really wants to keep track of uploaded sequences over multiple machines or wants to keep the upload history indefinitely then they should configure MAPILLARY_UPLOAD_HISTORY_PATH to their desire.

JakeSmarter commented 2 years ago

I am guessing this also ties in to #524.